mirror of https://github.com/openssl/openssl.git
Fix memory leaks after failure of PKCS7_add_signed_attribute()
If PKCS7_add_signed_attribute fails,
seq never escapes out of the callee and will
therefore result in a memory leak.
This is similar to ed3d277127
.
CLA: trivial
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/27670)
This commit is contained in:
parent
afd32bcb54
commit
6543f34dda
|
@ -648,8 +648,12 @@ static int ossl_ess_add1_signing_cert(PKCS7_SIGNER_INFO *si,
|
||||||
}
|
}
|
||||||
|
|
||||||
OPENSSL_free(pp);
|
OPENSSL_free(pp);
|
||||||
return PKCS7_add_signed_attribute(si, NID_id_smime_aa_signingCertificate,
|
if (!PKCS7_add_signed_attribute(si, NID_id_smime_aa_signingCertificate,
|
||||||
V_ASN1_SEQUENCE, seq);
|
V_ASN1_SEQUENCE, seq)) {
|
||||||
|
ASN1_STRING_free(seq);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ossl_ess_add1_signing_cert_v2(PKCS7_SIGNER_INFO *si,
|
static int ossl_ess_add1_signing_cert_v2(PKCS7_SIGNER_INFO *si,
|
||||||
|
@ -671,8 +675,12 @@ static int ossl_ess_add1_signing_cert_v2(PKCS7_SIGNER_INFO *si,
|
||||||
}
|
}
|
||||||
|
|
||||||
OPENSSL_free(pp);
|
OPENSSL_free(pp);
|
||||||
return PKCS7_add_signed_attribute(si, NID_id_smime_aa_signingCertificateV2,
|
if (!PKCS7_add_signed_attribute(si, NID_id_smime_aa_signingCertificateV2,
|
||||||
V_ASN1_SEQUENCE, seq);
|
V_ASN1_SEQUENCE, seq)) {
|
||||||
|
ASN1_STRING_free(seq);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ts_RESP_sign(TS_RESP_CTX *ctx)
|
static int ts_RESP_sign(TS_RESP_CTX *ctx)
|
||||||
|
|
Loading…
Reference in New Issue