diff options
author | nelsonb%netscape.com <devnull@localhost> | 2001-04-03 23:16:20 +0000 |
---|---|---|
committer | nelsonb%netscape.com <devnull@localhost> | 2001-04-03 23:16:20 +0000 |
commit | 6431dbd0ef3b66839296f26ad03c8d46f1c9a6ab (patch) | |
tree | 0d6bd411ab2dc1ce7c44a970a643aa714094b83d | |
parent | e932723b9a0f5a082cb091ebbb29253344ce120a (diff) | |
download | nss-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.c | 4 |
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); |