diff options
author | kaie%kuix.de <devnull@localhost> | 2006-04-24 18:02:17 +0000 |
---|---|---|
committer | kaie%kuix.de <devnull@localhost> | 2006-04-24 18:02:17 +0000 |
commit | 089f031e67a4cb9eb888d5fbf3c06af1e8c7456b (patch) | |
tree | 18d01cf55d8ecdd225f6fc5aa7dfbead86dd4d24 | |
parent | a2ac0a2cb7807b300af389ede2bec2456c38d6fa (diff) | |
download | nss-hg-089f031e67a4cb9eb888d5fbf3c06af1e8c7456b.tar.gz |
bug 334442, Incorrect use of realloc oom Crash in secmod_ReadPermDBFIREFOX_2_0a2_RELEASE
r=nelson, a=dveditz
-rw-r--r-- | security/nss/lib/softoken/pk11db.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/security/nss/lib/softoken/pk11db.c b/security/nss/lib/softoken/pk11db.c index c60e87780..c1d649b35 100644 --- a/security/nss/lib/softoken/pk11db.c +++ b/security/nss/lib/softoken/pk11db.c @@ -868,7 +868,7 @@ secmod_ReadPermDB(const char *appName, const char *filename, DBT key,data; int ret; DB *pkcs11db = NULL; - char **moduleList = NULL; + char **moduleList = NULL, **newModuleList = NULL; int moduleCount = 1; int useCount = SECMOD_STEP; @@ -888,9 +888,10 @@ secmod_ReadPermDB(const char *appName, const char *filename, PRBool internal = PR_FALSE; if ((moduleCount+1) >= useCount) { useCount += SECMOD_STEP; - moduleList = + newModuleList = (char **)PORT_Realloc(moduleList,useCount*sizeof(char *)); - if (moduleList == NULL) goto done; + if (newModuleList == NULL) goto done; + moduleList = newModuleList; PORT_Memset(&moduleList[moduleCount+1],0, sizeof(char *)*SECMOD_STEP); } |