gpg: Cap size of attribute packets at 16MB.
authorWerner Koch <wk@gnupg.org>
Mon, 21 Jul 2014 11:50:36 +0000 (13:50 +0200)
committerWerner Koch <wk@gnupg.org>
Mon, 21 Jul 2014 11:50:36 +0000 (13:50 +0200)
commitbab9cdd971f35ff47e153c00034c95e7ffeaa09a
tree8d9f2cbea143b478f25e457fd16dfda853dabc72
parent97f887a0f5a7eba246dd68d860d3b6518de57daf
gpg: Cap size of attribute packets at 16MB.

* g10/parse-packet.c (parse_attribute): Avoid xmalloc failure and cap
size of packet.
--

Tavis Ormandy reported a fatal error for attribute packets with a zero
length payload.  This is due to a check in Libgcrypt's xmalloc which
rejects a malloc(0) instead of silently allocating 1 byte.  The fix is
obvious.

In addition we cap the size of attribute packets similar to what we do
with user id packets.  OpenPGP keys are not the proper way to store
movies.
g10/parse-packet.c