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:44:52 -0400 |
commit | d31bc179b3a48351025c55756ce8be82bf9bfa4c (patch) | |
tree | 0780ebbf236da5e3dcadcc1dca91f28d4eb6c0ce /apps | |
parent | 0b48a24ce993d1a4409d7bde26295f6df0d173cb (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)
Diffstat (limited to 'apps')
-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; |