summaryrefslogtreecommitdiff
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:44:52 -0400
commitd31bc179b3a48351025c55756ce8be82bf9bfa4c (patch)
tree0780ebbf236da5e3dcadcc1dca91f28d4eb6c0ce
parent0b48a24ce993d1a4409d7bde26295f6df0d173cb (diff)
downloadopenssl-new-d31bc179b3a48351025c55756ce8be82bf9bfa4c.tar.gz
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;