mirror of
https://github.com/openssl/openssl.git
synced 2025-01-18 13:44:20 +08:00
Fix possible memleak in PKCS7_add0_attrib_signing_time
When PKCS7_add_signed_attribute fails, the ASN1_TIME object may be leaked when it was not passed in as input parameter. Reviewed-by: Neil Horman <nhorman@openssl.org> Reviewed-by: Shane Lontis <shane.lontis@oracle.com> Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/22772)
This commit is contained in:
parent
bc0773bbbd
commit
7d52539f00
@ -102,12 +102,18 @@ int PKCS7_add_attrib_content_type(PKCS7_SIGNER_INFO *si, ASN1_OBJECT *coid)
|
||||
|
||||
int PKCS7_add0_attrib_signing_time(PKCS7_SIGNER_INFO *si, ASN1_TIME *t)
|
||||
{
|
||||
if (t == NULL && (t = X509_gmtime_adj(NULL, 0)) == NULL) {
|
||||
ASN1_TIME *tmp = NULL;
|
||||
|
||||
if (t == NULL && (tmp = t = X509_gmtime_adj(NULL, 0)) == NULL) {
|
||||
ERR_raise(ERR_LIB_PKCS7, ERR_R_X509_LIB);
|
||||
return 0;
|
||||
}
|
||||
return PKCS7_add_signed_attribute(si, NID_pkcs9_signingTime,
|
||||
V_ASN1_UTCTIME, t);
|
||||
if (!PKCS7_add_signed_attribute(si, NID_pkcs9_signingTime,
|
||||
V_ASN1_UTCTIME, t)) {
|
||||
ASN1_TIME_free(tmp);
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
int PKCS7_add1_attrib_digest(PKCS7_SIGNER_INFO *si,
|
||||
|
Loading…
Reference in New Issue
Block a user