summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornelsonb%netscape.com <devnull@localhost>2001-04-03 23:16:20 +0000
committernelsonb%netscape.com <devnull@localhost>2001-04-03 23:16:20 +0000
commit6431dbd0ef3b66839296f26ad03c8d46f1c9a6ab (patch)
tree0d6bd411ab2dc1ce7c44a970a643aa714094b83d
parente932723b9a0f5a082cb091ebbb29253344ce120a (diff)
downloadnss-hg-6431dbd0ef3b66839296f26ad03c8d46f1c9a6ab.tar.gz
Fix another bug found while testing compatibility of multiple
implementations of NSS's arena code.
-rw-r--r--security/nss/lib/util/secport.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/security/nss/lib/util/secport.c b/security/nss/lib/util/secport.c
index 29c8b41c2..6f9c510c9 100644
--- a/security/nss/lib/util/secport.c
+++ b/security/nss/lib/util/secport.c
@@ -262,11 +262,13 @@ PORT_FreeArena(PLArenaPool *arena, PRBool zero)
{
PORTArenaPool *pool = (PORTArenaPool *)arena;
PRLock * lock = (PRLock *)0;
+ size_t len = sizeof *arena;
extern const PRVersionDescription * libVersionPoint(void);
static const PRVersionDescription * pvd;
static PRBool doFreeArenaPool;
if (ARENAPOOL_MAGIC == pool->magic ) {
+ len = sizeof *pool;
lock = pool->lock;
PZ_Lock(lock);
}
@@ -282,7 +284,7 @@ PORT_FreeArena(PLArenaPool *arena, PRBool zero)
if (doFreeArenaPool)
PL_FreeArenaPool(arena);
PL_FinishArenaPool(arena);
- PORT_ZFree(pool, sizeof(*pool));
+ PORT_ZFree(arena, len);
if (lock) {
PZ_Unlock(lock);
PZ_DestroyLock(lock);