summaryrefslogtreecommitdiffstats
path: root/jemalloc/src
diff options
context:
space:
mode:
authorJason Evans <je@facebook.com>2010-03-15 23:38:27 (GMT)
committerJason Evans <je@facebook.com>2010-03-15 23:44:12 (GMT)
commitf00bb7f132e3b74cb36c34223217df0c4394ada4 (patch)
treea4eb3841c33ab95c53a7b9ee3134397d6ee09643 /jemalloc/src
parent6b5974403b673bc8dd9993b67a1403481089d439 (diff)
downloadjemalloc-f00bb7f132e3b74cb36c34223217df0c4394ada4.zip
jemalloc-f00bb7f132e3b74cb36c34223217df0c4394ada4.tar.gz
jemalloc-f00bb7f132e3b74cb36c34223217df0c4394ada4.tar.bz2
Add assertions.
Check for interior pointers in arena_[ds]alloc(). Check for corrupt pointers in tcache_alloc().
Diffstat (limited to 'jemalloc/src')
-rw-r--r--jemalloc/src/arena.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/jemalloc/src/arena.c b/jemalloc/src/arena.c
index 289fac1..971e4f9 100644
--- a/jemalloc/src/arena.c
+++ b/jemalloc/src/arena.c
@@ -1492,8 +1492,12 @@ arena_salloc(const void *ptr)
(uintptr_t)((pageind - ((mapbits & CHUNK_MAP_PG_MASK) >>
CHUNK_MAP_PG_SHIFT)) << PAGE_SHIFT));
assert(run->magic == ARENA_RUN_MAGIC);
+ assert(((uintptr_t)ptr - ((uintptr_t)run +
+ (uintptr_t)run->bin->reg0_offset)) % run->bin->reg_size ==
+ 0);
ret = run->bin->reg_size;
} else {
+ assert(((uintptr_t)ptr & PAGE_MASK) == 0);
ret = mapbits & ~PAGE_MASK;
assert(ret != 0);
}