dirmngr: Fix out of scope use of a var in the keyserver LDAP code.

* dirmngr/ks-engine-ldap.c (extract_attributes): Don't use a variabale
out of scope and cleanup the entire pgpKeySize block.
--

GnuPG-bug-id: 4229
Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
Werner Koch 2018-10-25 17:21:52 +02:00
parent 0240345728
commit 2b57a8159c
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B
1 changed files with 10 additions and 23 deletions

View File

@ -1694,26 +1694,16 @@ extract_attributes (LDAPMod ***modlist, char *line)
if (is_pub || is_sub)
{
char *size = fields[2];
int val = atoi (size);
size = NULL;
char padded[6];
int val;
if (val > 0)
{
/* We zero pad this on the left to make PGP happy. */
char padded[6];
if (val < 99999 && val > 0)
{
snprintf (padded, sizeof padded, "%05u", val);
size = padded;
}
}
if (size)
{
if (is_pub || is_sub)
modlist_add (modlist, "pgpKeySize", size);
}
val = atoi (fields[2]);
if (val < 99999 && val > 0)
{
/* We zero pad this on the left to make PGP happy. */
snprintf (padded, sizeof padded, "%05u", val);
modlist_add (modlist, "pgpKeySize", padded);
}
}
if (is_pub)
@ -1736,10 +1726,7 @@ extract_attributes (LDAPMod ***modlist, char *line)
}
if (algo)
{
if (is_pub)
modlist_add (modlist, "pgpKeyType", algo);
}
modlist_add (modlist, "pgpKeyType", algo);
}
if (is_pub || is_sub || is_sig)