Fix brown paper bag allocation bug.
authorWerner Koch <wk@gnupg.org>
Mon, 26 May 2014 08:23:49 +0000 (10:23 +0200)
committerWerner Koch <wk@gnupg.org>
Mon, 26 May 2014 08:25:19 +0000 (10:25 +0200)
* src/util.c (keyvalue_create): Use key and not value for the
allocation.
--

Despite that I have used the pattern of variable length structs for
soooo many times, I got it wrong this time. :-(.  It might be useful
to have a dedicated malloc function+macro to help with that.  This
could actually do the calloc only for the static part of the struct
and copy the string into the dynamic part.

src/util.c

index 1bc1358..3059024 100644 (file)
@@ -210,7 +210,7 @@ keyvalue_create (const char *key, const char *value)
   keyvalue_t kv;
 
   /* Insert a new data item. */
-  kv = xtrymalloc (sizeof *kv + strlen (value));
+  kv = xtrymalloc (sizeof *kv + strlen (key));
   if (!kv)
     return NULL;
   kv->next = NULL;