Fix couple of memory leaks in PKCS7_dataDecode().

(provided by Stephen)
This commit is contained in:
Richard Levitte 2001-04-05 10:19:12 +00:00
parent ccd2cd3e64
commit 4ac881ede3
2 changed files with 5 additions and 2 deletions

View File

@ -4,6 +4,9 @@
Changes between 0.9.6 and 0.9.7 [xx XXX 2000] Changes between 0.9.6 and 0.9.7 [xx XXX 2000]
*) Fix a couple of memory leaks in PKCS7_dataDecode()
[Steve Henson, reported by Heyun Zheng <hzheng@atdsprint.com>]
*) Change Configure and Makefiles to provide EXE_EXT, which will contain *) Change Configure and Makefiles to provide EXE_EXT, which will contain
the default extension for executables, if any. Also, make the perl the default extension for executables, if any. Also, make the perl
scripts that use symlink() to test if it really exists and use "cp" scripts that use symlink() to test if it really exists and use "cp"

View File

@ -370,7 +370,7 @@ BIO *PKCS7_dataDecode(PKCS7 *p7, EVP_PKEY *pkey, BIO *in_bio, X509 *pcert)
if (ri == NULL) { if (ri == NULL) {
PKCS7err(PKCS7_F_PKCS7_DATADECODE, PKCS7err(PKCS7_F_PKCS7_DATADECODE,
PKCS7_R_NO_RECIPIENT_MATCHES_CERTIFICATE); PKCS7_R_NO_RECIPIENT_MATCHES_CERTIFICATE);
return(NULL); goto err;
} }
jj=EVP_PKEY_size(pkey); jj=EVP_PKEY_size(pkey);
@ -393,7 +393,7 @@ BIO *PKCS7_dataDecode(PKCS7 *p7, EVP_PKEY *pkey, BIO *in_bio, X509 *pcert)
BIO_get_cipher_ctx(etmp,&evp_ctx); BIO_get_cipher_ctx(etmp,&evp_ctx);
EVP_CipherInit(evp_ctx,evp_cipher,NULL,NULL,0); EVP_CipherInit(evp_ctx,evp_cipher,NULL,NULL,0);
if (EVP_CIPHER_asn1_to_param(evp_ctx,enc_alg->parameter) < 0) if (EVP_CIPHER_asn1_to_param(evp_ctx,enc_alg->parameter) < 0)
return(NULL); goto err;
if (jj != EVP_CIPHER_CTX_key_length(evp_ctx)) { if (jj != EVP_CIPHER_CTX_key_length(evp_ctx)) {
/* Some S/MIME clients don't use the same key /* Some S/MIME clients don't use the same key