Repair a regression in OpenSSL 0.9.7d: processing an unsigned PKCS#7

object could cause a null pointer dereference.

Obtained from:	OpenSSL CVS (change number 12080)
MFC After:	1 day
Reported by:	Daniel Lang <dl@leo.org>
This commit is contained in:
Jacques Vidrine 2004-04-05 19:01:57 +00:00
parent ced566fd0b
commit fe2b6e6689
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/vendor-crypto/openssl/dist/; revision=127904

View File

@ -257,10 +257,15 @@ BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio)
bio=BIO_new(BIO_s_null());
else
{
ASN1_OCTET_STRING *os;
os = PKCS7_get_octet_string(p7->d.sign->contents);
if (os && os->length > 0)
bio = BIO_new_mem_buf(os->data, os->length);
if (PKCS7_type_is_signed(p7))
{
ASN1_OCTET_STRING *os;
os = PKCS7_get_octet_string(
p7->d.sign->contents);
if (os && os->length > 0)
bio = BIO_new_mem_buf(os->data,
os->length);
}
if(bio == NULL)
{
bio=BIO_new(BIO_s_mem());