summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorian.mcgreer%sun.com <devnull@localhost>2002-04-09 23:46:57 +0000
committerian.mcgreer%sun.com <devnull@localhost>2002-04-09 23:46:57 +0000
commit45a9b7493ad576843c9fec035d3b728f469e0244 (patch)
tree40a6cd654b09569617b7fa76cdebf749fd590799
parent78ac8478ea64e4e1711e92599b56df3a39183e7e (diff)
downloadnss-hg-45a9b7493ad576843c9fec035d3b728f469e0244.tar.gz
bug 135871, CERT_ImportCerts not storing temp certs
r=relyea
-rw-r--r--security/nss/lib/certdb/certdb.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/security/nss/lib/certdb/certdb.c b/security/nss/lib/certdb/certdb.c
index 983908737..8f61d8978 100644
--- a/security/nss/lib/certdb/certdb.c
+++ b/security/nss/lib/certdb/certdb.c
@@ -2028,8 +2028,17 @@ CERT_ImportCerts(CERTCertDBHandle *certdb, SECCertUsage usage,
/* decode all of the certs into the temporary DB */
for ( i = 0, fcerts= 0; i < ncerts; i++) {
- certs[fcerts] = CERT_DecodeDERCertificate(derCerts[i], PR_FALSE,
- NULL);
+ if ( keepCerts ) {
+ certs[fcerts] = CERT_DecodeDERCertificate(derCerts[i],
+ PR_FALSE,
+ NULL);
+ } else {
+ certs[fcerts] = CERT_NewTempCertificate(certdb,
+ derCerts[i],
+ NULL,
+ PR_FALSE,
+ PR_TRUE);
+ }
if (certs[fcerts]) fcerts++;
}