* app-openpgp.c (get_cached_data): Avoid mallocing zero since it breaks us
authorDavid Shaw <dshaw@jabberwocky.com>
Sat, 11 Sep 2004 03:30:48 +0000 (03:30 +0000)
committerDavid Shaw <dshaw@jabberwocky.com>
Sat, 11 Sep 2004 03:30:48 +0000 (03:30 +0000)
when using --enable-m-guard.

g10/ChangeLog
g10/app-openpgp.c

index 6696c0a..b042800 100644 (file)
@@ -1,5 +1,8 @@
 2004-09-10  David Shaw  <dshaw@jabberwocky.com>
 
+       * app-openpgp.c (get_cached_data): Avoid mallocing zero since it
+       breaks us when using --enable-m-guard.
+
        * ccid-driver.c (read_device_info): Fix segfault when usb device
        is not accessible.
        (ccid_open_reader): Allow working with an even older version of
index 3dc015b..ba34aca 100644 (file)
@@ -124,7 +124,6 @@ get_cached_data (app_t app, int tag,
   size_t len;
   struct cache_s *c;
 
-
   *result = NULL;
   *resultlen = 0;
 
@@ -133,13 +132,18 @@ get_cached_data (app_t app, int tag,
       for (c=app->app_local->cache; c; c = c->next)
         if (c->tag == tag)
           {
-              p = xtrymalloc (c->length);
-              if (!p)
-                return gpg_error (gpg_err_code_from_errno (errno));
-              memcpy (p, c->data, c->length);
-              *resultlen = c->length;
-              *result = p;
-              return 0;
+           if(c->length)
+             {
+               p = xtrymalloc (c->length);
+               if (!p)
+                 return gpg_error (gpg_err_code_from_errno (errno));
+               memcpy (p, c->data, c->length);
+               *result = p;
+             }
+
+           *resultlen = c->length;
+
+           return 0;
           }
     }