2003-02-04 Marcus Brinkmann <marcus@g10code.de>
authorMarcus Brinkmann <mb@g10code.com>
Tue, 4 Feb 2003 20:56:50 +0000 (20:56 +0000)
committerMarcus Brinkmann <mb@g10code.com>
Tue, 4 Feb 2003 20:56:50 +0000 (20:56 +0000)
* trustlist.c (trustlist_colon_handler): Release ITEM if name
could not be allocated.
(gpgme_trust_item_release): Only release name if it is allocated.
Reported by Marc Mutz <Marc.Mutz@uni-bielefeld.de>.

gpgme/ChangeLog
gpgme/trustlist.c

index 3c50700..78d2b46 100644 (file)
@@ -1,5 +1,12 @@
 2003-02-04  Marcus Brinkmann  <marcus@g10code.de>
 
+       * trustlist.c (trustlist_colon_handler): Release ITEM if name
+       could not be allocated.
+       (gpgme_trust_item_release): Only release name if it is allocated.
+       Reported by Marc Mutz <Marc.Mutz@uni-bielefeld.de>.
+
+2003-02-04  Marcus Brinkmann  <marcus@g10code.de>
+
        * rungpg.c (read_status): If he status handler returns an error,
        return it.
        (status_handler): If read_status fails, just return the error.
index 8dbc9f5..0a6f635 100644 (file)
@@ -120,8 +120,10 @@ trustlist_colon_handler (GpgmeCtx ctx, char *line)
          break;
        case 9: /* user ID */
          item->name = strdup (p);
-         if (!item->name)
+         if (!item->name) {
+           gpgme_trust_item_release (item);
            return GPGME_Out_Of_Core;
+         }
          break;
         }
     }
@@ -270,7 +272,8 @@ gpgme_trust_item_release (GpgmeTrustItem item)
 {
   if (!item)
     return;
-  free (item->name);
+  if (item->name)
+    free (item->name);
   free (item);
 }