gpg: Fix bug parsing a zero length user id.
authorWerner Koch <wk@gnupg.org>
Mon, 2 Jun 2014 09:47:25 +0000 (11:47 +0200)
committerWerner Koch <wk@gnupg.org>
Mon, 2 Jun 2014 09:56:06 +0000 (11:56 +0200)
commit88ac9568364b399b896de2d6f2432b1cb73415a8
tree0db441280d24e113de5a7a70fe8b9471f3831953
parentb896fccaada0caf1987eb95ac99dd6b4ca609c4b
gpg: Fix bug parsing a zero length user id.

* g10/getkey.c (get_user_id): Do not call xmalloc with 0.

* common/xmalloc.c (xmalloc, xcalloc): Take extra precaution not to
pass 0 to the arguments.
--

The problem did not occur in 1.x because over there the xmalloc makes
sure to allocate at least one byte.  With 2.x for most calls the
xmalloc of Libgcrypt is used and Libgcrypt returns an error insteead
of silent allocating a byte.  Thus gpg 2.x bailed out with an
"Fatal: out of core while allocating 0 bytes".

The extra code in xmalloc.c is for more robustness for the other
xmalloc calls.

(cherry picked from commit 99972bd6e9abea71f270284f49997de5f00208af)

Resolved conflicts:
g10/getkey.c - ignore whitespace changes.
g10/getkey.c
jnlib/xmalloc.c