2008-03-06 Marcus Brinkmann <marcus@g10code.de>
authorMarcus Brinkmann <mb@g10code.com>
Thu, 6 Mar 2008 14:54:11 +0000 (14:54 +0000)
committerMarcus Brinkmann <mb@g10code.com>
Thu, 6 Mar 2008 14:54:11 +0000 (14:54 +0000)
* key.c (_gpgme_key_add_sig): Terminate UID in case SRC is NULL.
Reported by Marc Mutz.

gpgme/ChangeLog
gpgme/key.c

index 8285ff85470176f7c6f48b97f3abc00dcc85ff1e..a27204c6f3b2cb90296be9bfe7088ec9267db3a5 100644 (file)
@@ -1,3 +1,8 @@
+2008-03-06  Marcus Brinkmann  <marcus@g10code.de>
+
+       * key.c (_gpgme_key_add_sig): Terminate UID in case SRC is NULL.
+       Reported by Marc Mutz.
+
 2008-03-05  Marcus Brinkmann  <marcus@g10code.de>
 
        * decrypt.c (release_op_data): Release OPD->result.recipients.
index 3dde670f06d3d30c5307c04b800f9fea6f699ca1..c9f48f87c9cbddcc3dba005ec0034d8ba4a745de 100644 (file)
@@ -252,7 +252,7 @@ _gpgme_key_add_sig (gpgme_key_t key, char *src)
   assert (uid);        /* XXX */
 
   /* We can malloc a buffer of the same length, because the converted
-     string will never be larger. Actually we allocate it twice the
+     string will never be larger.  Actually we allocate it twice the
      size, so that we are able to store the parsed stuff there too.  */
   sig = malloc (sizeof (*sig) + 2 * src_len + 3);
   if (!sig)
@@ -275,6 +275,8 @@ _gpgme_key_add_sig (gpgme_key_t key, char *src)
        parse_user_id (sig->uid, &sig->name, &sig->email,
                       &sig->comment, dst);
     }
+  else
+    sig->uid = '\0';
 
   if (!uid->signatures)
     uid->signatures = sig;