summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwtc%netscape.com <devnull@localhost>2002-04-25 20:48:22 +0000
committerwtc%netscape.com <devnull@localhost>2002-04-25 20:48:22 +0000
commit79ffea1dbcbbd0f11746afc08a1f175a37a88258 (patch)
tree9dd1665e8cb327e4bdad56d234e8caa69cf17a63
parented16f6399fc16b99b0cd4d6aa7895be7101ef918 (diff)
downloadnss-hg-79ffea1dbcbbd0f11746afc08a1f175a37a88258.tar.gz
bug 135871, CERT_ImportCerts not storing temp certs
r=relyea (Tag: NSS_3_4_BRANCH)
-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++;
}