import from UXP: [NSS] Destroy certificate on error paths (01d89493)

This commit is contained in:
2025-12-18 00:04:30 +08:00
parent 2eae097a10
commit b39f71e0fc
+3
View File
@@ -2122,6 +2122,7 @@ CERT_GetCertChainFromCert(CERTCertificate *cert, PRTime time, SECCertUsage usage
chain = CERT_NewCertList();
if (NULL == chain) {
CERT_DestroyCertificate(cert);
PORT_SetError(SEC_ERROR_NO_MEMORY);
return NULL;
}
@@ -2129,6 +2130,7 @@ CERT_GetCertChainFromCert(CERTCertificate *cert, PRTime time, SECCertUsage usage
while (cert != NULL && ++count <= CERT_MAX_CERT_CHAIN) {
if (SECSuccess != CERT_AddCertToListTail(chain, cert)) {
/* return partial chain */
CERT_DestroyCertificate(cert);
PORT_SetError(SEC_ERROR_NO_MEMORY);
return chain;
}
@@ -2142,6 +2144,7 @@ CERT_GetCertChainFromCert(CERTCertificate *cert, PRTime time, SECCertUsage usage
}
/* return partial chain */
CERT_DestroyCertificate(cert);
PORT_SetError(SEC_ERROR_UNKNOWN_ISSUER);
return chain;
}