diff options
author | julien.pierre.bugs%sun.com <devnull@localhost> | 2005-11-15 00:34:39 +0000 |
---|---|---|
committer | julien.pierre.bugs%sun.com <devnull@localhost> | 2005-11-15 00:34:39 +0000 |
commit | 8bb7331b62bc9c3cbbf80274e9d164de9caa2119 (patch) | |
tree | d2273cc03d41d9d7b53d0a39310f64702c8d65c2 | |
parent | 71488fac4553afc6f2c293b963f1ee86f35e9fe4 (diff) | |
download | nss-hg-8bb7331b62bc9c3cbbf80274e9d164de9caa2119.tar.gz |
Fix for bug 232604. don't open DBs in user's directory in shlibsign. r=nelson
-rw-r--r-- | security/nss/cmd/shlibsign/shlibsign.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/security/nss/cmd/shlibsign/shlibsign.c b/security/nss/cmd/shlibsign/shlibsign.c index 28d7c7f8a..701803def 100644 --- a/security/nss/cmd/shlibsign/shlibsign.c +++ b/security/nss/cmd/shlibsign/shlibsign.c @@ -155,6 +155,7 @@ main (int argc, char **argv) int keySize = 1024; PQGParams *pqgParams = NULL; PQGVerify *pqgVerify = NULL; + char* nssDir = NULL; #ifdef USES_LINKS int ret; struct stat stat_buf; @@ -187,7 +188,7 @@ main (int argc, char **argv) #endif case 'd': - SECU_ConfigDirectory(optstate->value); + nssDir = optstate->value; break; case 'i': @@ -214,10 +215,15 @@ main (int argc, char **argv) */ PK11_SetPasswordFunc(SECU_GetModulePassword); - rv = NSS_Init(SECU_ConfigDirectory(NULL)); - if (rv != SECSuccess) { - rv = NSS_NoDB_Init(""); + if (nssDir) { + rv = NSS_Init(nssDir); + if (rv != SECSuccess) { + rv = NSS_NoDB_Init(""); + } + } else { + rv = NSS_NoDB_Init(""); } + if (rv != SECSuccess) { lperror("NSS_Init failed"); goto prdone; |