summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrelyea%netscape.com <devnull@localhost>2002-04-16 00:24:34 +0000
committerrelyea%netscape.com <devnull@localhost>2002-04-16 00:24:34 +0000
commit0f1f4b52a1cc781b7cd2b27949975a49428dc931 (patch)
tree30dcf9e05fc71d0ccb709f78b46acc0f7b30a6e8
parente0071e37a1c0c29a5872723d72894ee1abd94746 (diff)
downloadnss-hg-0f1f4b52a1cc781b7cd2b27949975a49428dc931.tar.gz
Don't free the temp secmod.db name until we are through using it.
-rw-r--r--security/nss/lib/softoken/pk11db.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/security/nss/lib/softoken/pk11db.c b/security/nss/lib/softoken/pk11db.c
index fdb8a18a4..7c44a7805 100644
--- a/security/nss/lib/softoken/pk11db.c
+++ b/security/nss/lib/softoken/pk11db.c
@@ -651,12 +651,12 @@ secmod_OpenDB(const char *appName, const char *filename, const char *dbName,
secname[len-3] = 0;
}
pkcs11db=rdbopen(appName, "", secname, readOnly ? NO_RDONLY:NO_CREATE);
- PORT_Free(secname);
if (update && !pkcs11db) {
DB *updatedb;
pkcs11db = rdbopen(appName, "", secname, NO_CREATE);
if (!pkcs11db) {
+ PORT_Free(secname);
return NULL;
}
updatedb = dbopen(dbName, NO_RDONLY, 0600, DB_HASH, 0);
@@ -665,9 +665,11 @@ secmod_OpenDB(const char *appName, const char *filename, const char *dbName,
(*updatedb->close)(updatedb);
} else {
(*pkcs11db->close)(pkcs11db);
+ PORT_Free(secname);
return NULL;
}
}
+ PORT_Free(secname);
return pkcs11db;
}