diff options
author | Rich Salz <rsalz@openssl.org> | 2016-04-25 08:56:54 -0400 |
---|---|---|
committer | Rich Salz <rsalz@openssl.org> | 2016-04-25 11:46:52 -0400 |
commit | 184ebf0fca31685bb03e2ed225f2c474769fe646 (patch) | |
tree | d9b3c325f2d46e7986e7a119e01d7782dd36735d | |
parent | 697283ba418b21c4c0682d7050264b492e2ea4e2 (diff) |
Fix NULL deref in apps/pkcs7
Thanks to Brian Carpenter for finding and reporting this.
Reviewed-by: Emilia Käsper <emilia@openssl.org>
(cherry picked from commit 79356a83b78a2d936dcd022847465d9ebf6c67b1)
-rw-r--r-- | apps/pkcs7.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/apps/pkcs7.c b/apps/pkcs7.c index 643507f216..b677633183 100644 --- a/apps/pkcs7.c +++ b/apps/pkcs7.c @@ -235,12 +235,16 @@ int MAIN(int argc, char **argv) i = OBJ_obj2nid(p7->type); switch (i) { case NID_pkcs7_signed: - certs = p7->d.sign->cert; - crls = p7->d.sign->crl; + if (p7->d.sign != NULL) { + certs = p7->d.sign->cert; + crls = p7->d.sign->crl; + } break; case NID_pkcs7_signedAndEnveloped: - certs = p7->d.signed_and_enveloped->cert; - crls = p7->d.signed_and_enveloped->crl; + if (p7->d.signed_and_enveloped != NULL) { + certs = p7->d.signed_and_enveloped->cert; + crls = p7->d.signed_and_enveloped->crl; + } break; default: break; |