diff options
author | Xin LI <delphij@FreeBSD.org> | 2014-07-23 07:49:43 +0000 |
---|---|---|
committer | Xin LI <delphij@FreeBSD.org> | 2014-07-23 07:49:43 +0000 |
commit | 9f034fd828560a4bd825b4514ba7991802ce7811 (patch) | |
tree | 7c8a694d866ffa57a951d7ce53916913f259c5ff /security/nss | |
parent | 35eec38eadcec686e3c94da54c881345ff28043e (diff) | |
download | ports-9f034fd828560a4bd825b4514ba7991802ce7811.tar.gz ports-9f034fd828560a4bd825b4514ba7991802ce7811.zip |
Notes
Diffstat (limited to 'security/nss')
-rw-r--r-- | security/nss/Makefile | 2 | ||||
-rw-r--r-- | security/nss/files/patch-bug963150 | 30 |
2 files changed, 31 insertions, 1 deletions
diff --git a/security/nss/Makefile b/security/nss/Makefile index 3337fc6861ae..2dbdc6c2a9ad 100644 --- a/security/nss/Makefile +++ b/security/nss/Makefile @@ -3,7 +3,7 @@ PORTNAME= nss PORTVERSION= 3.16.1 -PORTREVISION= 1 +PORTREVISION= 2 #DISTVERSIONSUFFIX= .with.ckbi.1.93 CATEGORIES= security MASTER_SITES= MOZILLA/security/${PORTNAME}/releases/${DISTNAME:tu:C/[-.]/_/g}_RTM/src diff --git a/security/nss/files/patch-bug963150 b/security/nss/files/patch-bug963150 new file mode 100644 index 000000000000..84fed1912dce --- /dev/null +++ b/security/nss/files/patch-bug963150 @@ -0,0 +1,30 @@ +diff --git lib/pk11wrap/pk11cert.c lib/pk11wrap/pk11cert.c +--- lib/pk11wrap/pk11cert.c ++++ lib/pk11wrap/pk11cert.c +@@ -976,18 +976,25 @@ PK11_ImportCert(PK11SlotInfo *slot, CERT + cert->istemp = PR_FALSE; + cert->isperm = PR_TRUE; + } + + /* add the new instance to the cert, force an update of the + * CERTCertificate, and finish + */ + nssPKIObject_AddInstance(&c->object, certobj); ++ /* nssTrustDomain_AddCertsToCache may release a reference to 'c' and ++ * replace 'c' by a different value. So we add a reference to 'c' to ++ * prevent 'c' from being destroyed. */ ++ nssCertificate_AddRef(c); + nssTrustDomain_AddCertsToCache(STAN_GetDefaultTrustDomain(), &c, 1); ++ /* XXX should we pass the original value of 'c' to ++ * STAN_ForceCERTCertificateUpdate? */ + (void)STAN_ForceCERTCertificateUpdate(c); ++ nssCertificate_Destroy(c); + SECITEM_FreeItem(keyID,PR_TRUE); + return SECSuccess; + loser: + CERT_MapStanError(); + SECITEM_FreeItem(keyID,PR_TRUE); + if (PORT_GetError() != SEC_ERROR_TOKEN_NOT_LOGGED_IN) { + PORT_SetError(SEC_ERROR_ADDING_CERT); + } + |