diff options
author | wtc%netscape.com <devnull@localhost> | 2001-05-02 18:51:36 +0000 |
---|---|---|
committer | wtc%netscape.com <devnull@localhost> | 2001-05-02 18:51:36 +0000 |
commit | 95ddee279e461c7a8efaf0c1e9084e2379ee2d1f (patch) | |
tree | bdb52422458c64cb20db2d17c7e1826d01a7d250 | |
parent | 1f49c0c34517e1b38960e7df6a8cab2f6914759e (diff) | |
download | nss-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.c | 12 |
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 |