summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwtc%netscape.com <devnull@localhost>2001-05-02 18:51:36 +0000
committerwtc%netscape.com <devnull@localhost>2001-05-02 18:51:36 +0000
commit95ddee279e461c7a8efaf0c1e9084e2379ee2d1f (patch)
treebdb52422458c64cb20db2d17c7e1826d01a7d250
parent1f49c0c34517e1b38960e7df6a8cab2f6914759e (diff)
downloadnss-hg-95ddee279e461c7a8efaf0c1e9084e2379ee2d1f.tar.gz
Bugzilla bug #78467: fixed a memory leak in SECMOD_AddNewModule(). Thanks
to Patrick Beard <beard@netscape.com> for the bug report. (NSS_3_2_BRANCH)
-rw-r--r--security/nss/lib/pk11wrap/pk11util.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/security/nss/lib/pk11wrap/pk11util.c b/security/nss/lib/pk11wrap/pk11util.c
index f300f5adb..24dd5cb96 100644
--- a/security/nss/lib/pk11wrap/pk11util.c
+++ b/security/nss/lib/pk11wrap/pk11util.c
@@ -482,7 +482,7 @@ SECStatus SECMOD_AddNewModule(char* moduleName, char* dllPath,
unsigned long defaultMechanismFlags,
unsigned long cipherEnableFlags) {
SECMODModule *module;
- SECStatus result;
+ SECStatus result = SECFailure;
int s,i;
PK11SlotInfo* slot;
@@ -502,12 +502,8 @@ SECStatus SECMOD_AddNewModule(char* moduleName, char* dllPath,
if (module->dllName != NULL) {
if (module->dllName[0] != 0) {
- SECStatus rv = SECMOD_AddModule(module);
- if (rv != SECSuccess) {
- /* SECFailure: failed to add module, corrupt or missing module etc. */
- /* SECBlock: a module with the same name already exists */
- return rv;
- } else { /* successfully added module */
+ result = SECMOD_AddModule(module);
+ if (result == SECSuccess) {
/* turn on SSL cipher enable flags */
module->ssl[0] = cipherEnableFlags;
@@ -544,7 +540,7 @@ SECStatus SECMOD_AddNewModule(char* moduleName, char* dllPath,
}
}
SECMOD_DestroyModule(module);
- return SECFailure;
+ return result;
}
/* Public & Internal(Security Library) representation of