summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRich Salz <rsalz@openssl.org>2016-04-25 08:56:54 -0400
committerRich Salz <rsalz@openssl.org>2016-04-25 11:46:52 -0400
commit184ebf0fca31685bb03e2ed225f2c474769fe646 (patch)
treed9b3c325f2d46e7986e7a119e01d7782dd36735d
parent697283ba418b21c4c0682d7050264b492e2ea4e2 (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.c12
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;