summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Engert <kaie@kuix.de>2018-02-22 22:29:45 +0100
committerKai Engert <kaie@kuix.de>2018-02-22 22:29:45 +0100
commite2f4deee109a08371fc0fa43e318d337c3dd6f04 (patch)
tree2baa33cbff25db524af238b128540d8b62e50ef8
parent216ee0134570e0b96ca8544177a50f98ce8e0306 (diff)
downloadnss-hg-e2f4deee109a08371fc0fa43e318d337c3dd6f04.tar.gz
Bug 1439350, NSS 3.31 introduced a shutdown leak, after executing PK11_ListCerts(PK11CertListAll) with p11-kit-trust.so, r=rrelyea
-rw-r--r--lib/pki/pkibase.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/pki/pkibase.c b/lib/pki/pkibase.c
index 4082a37bd..f58a262cf 100644
--- a/lib/pki/pkibase.c
+++ b/lib/pki/pkibase.c
@@ -923,9 +923,11 @@ nssPKIObjectCollection_AddInstanceAsObject(
return PR_FAILURE;
}
if (!node->haveObject) {
+ nssPKIObject *original = node->object;
node->object = (*collection->createObject)(node->object);
if (!node->object) {
/*remove bogus object from list*/
+ nssPKIObject_Destroy(original);
nssPKIObjectCollection_RemoveNode(collection, node);
return PR_FAILURE;
}