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>.

trunk/gpgme/ChangeLog
trunk/gpgme/trustlist.c

index 3c5070069ab294e9240491af9af9b8772793eca3..78d2b46058e2e00a36ae21201af62b91d0db8448 100644 (file)
@@ -1,3 +1,10 @@
+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,
index 8dbc9f5819abc2cb7ca7c923cbfaf68cdd1c95ef..0a6f635f312114e5be4ed9c78ffecb4003c65f8a 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);
 }