Remove overzealous validity check for secrets

We directly get the length of the secret from the g_variant
   and use it in a following g_strndup which ensures that the
   resulting string is terminated.

   This fixes reading secrets which were stored by system-config-printer.

https://bugzilla.gnome.org/show_bug.cgi?id=740612
This commit is contained in:
Andre Heinecke 2014-11-24 10:59:32 +01:00 committed by Matthias Clasen
parent 246c172e1e
commit d9786d74db

View File

@ -200,10 +200,9 @@ get_secret_cb (GObject *source_object,
g_variant_unref (secret); g_variant_unref (secret);
if (ba_passwd == NULL || strlen (ba_passwd) > len + 1) if (ba_passwd == NULL)
{ {
/* No secret or the secret is not a zero terminated value */ GTK_NOTE (PRINTING, g_print ("Invalid / no secret found.\n"));
GTK_NOTE (PRINTING, g_print ("Invalid secret.\n"));
g_variant_unref (s_value); g_variant_unref (s_value);
goto fail; goto fail;
} }