dirmngr: Fix out of scope use of a var in the keyserver LDAP code.
authorWerner Koch <wk@gnupg.org>
Thu, 25 Oct 2018 15:21:52 +0000 (17:21 +0200)
committerWerner Koch <wk@gnupg.org>
Thu, 25 Oct 2018 15:34:24 +0000 (17:34 +0200)
* 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>
dirmngr/ks-engine-ldap.c

index f50ba50..d94bd5e 100644 (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)