mirror of
https://github.com/roytam1/basilisk55.git
synced 2026-05-26 14:30:37 +00:00
import from UXP: [NSS] Destroy certificate on error paths (01d89493)
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user