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 12:46:41 +0000 (14:46 +0200)
commit9a1e195348daa9f719d34fdf4e4d6bfce4c8fb3e
tree896de52c591b09a67cc9f72efa3f8dbb7ce597ac
parent40215d8ecdb10d36c699aa66f6e35c43b31e4822
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.

Resolved conflicts:
g10/parse-packet.c - indentation.  Use plain fprintf.
g10/parse-packet.c