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:47:25 +0000 (11:47 +0200)
commit99972bd6e9abea71f270284f49997de5f00208af
treef935c5ff69d98be62d6794f06a3fea55342c05de
parent9e1c99f8009f056c39a7465b91912c136b248e8f
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.
common/xmalloc.c
g10/getkey.c