gpg: Fix segv due to NULL value stored as opaque MPI
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Sun, 22 Feb 2015 04:10:37 +0000 (23:10 -0500)
committerWerner Koch <wk@gnupg.org>
Mon, 23 Feb 2015 09:56:21 +0000 (10:56 +0100)
commit6f032181ba78c5eeb14f9aab4307a75bbaf0b115
tree77938e9100142ee48cb56482260c1d023117fbfe
parenta35ed8af41a91a52e1bbf992522a209f9c27dd55
gpg: Fix segv due to NULL value stored as opaque MPI

* g10/build-packet.c (do_secret_key): Check for NULL return from
gcry_mpi_get_opaque.
* g10/keyid.c (hash_public_key): Ditto.
--

This is a backport of 76c8122adfed0f0f443cce7bda702ba2b39661b3 from
master to the STABLE-BRANCH-1-4

On the STABLE-BRANCH-1-4, we may also want to patch g10/seckey-cert.c,
but that has not been done in this patch.

This fix extends commmit 0835d2f44ef62eab51fce6a927908f544e01cf8f.

  gpg2 --export --no-default-keyring --keyring TESTDATA

With TESTDATA being below after unpacking.

-----BEGIN PGP ARMORED FILE-----

mBMEhdkMmS8BcX8F//8F5voEhQAQmBMEnAAAZwAAo4D/f/8EhQAAAIAEnP8EhQAQ
iBMEnP8AAAAABf8jIID///8EhQYQmBMEnIUAEIgTBKT/AAAAAAUAACCA/f//BIUA
EJgTBJx/AP8ABPPzBJx/AP8ABPPz
=2yE0
-----END PGP ARMORED FILE-----

Reported-by: Jodie Cunningham
[dkg: rebased to STABLE-BRANCH-1-4]
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
g10/build-packet.c
g10/keyid.c