diff options
author | Jason Evans <jasone@canonware.com> | 2013-12-17 23:14:36 (GMT) |
---|---|---|
committer | Jason Evans <jasone@canonware.com> | 2013-12-17 23:19:12 (GMT) |
commit | 0d6c5d8bd0d866a0ce4ce321259cec65d6459821 (patch) | |
tree | 083566d27a62252feb2c329c9dee1ee4745a140e /include | |
parent | eca367b77909ebd649fbd0430e1e9b80dded14e0 (diff) | |
download | jemalloc-0d6c5d8bd0d866a0ce4ce321259cec65d6459821.zip jemalloc-0d6c5d8bd0d866a0ce4ce321259cec65d6459821.tar.gz jemalloc-0d6c5d8bd0d866a0ce4ce321259cec65d6459821.tar.bz2 |
Add quarantine unit tests.
Verify that freed regions are quarantined, and that redzone corruption
is detected.
Introduce a testing idiom for intercepting/replacing internal functions.
In this case the replaced function is ordinarily a static function, but
the idiom should work similarly for library-private functions.
Diffstat (limited to 'include')
-rw-r--r-- | include/jemalloc/internal/arena.h | 6 | ||||
-rw-r--r-- | include/jemalloc/internal/private_symbols.txt | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/include/jemalloc/internal/arena.h b/include/jemalloc/internal/arena.h index e43aed1..4151751 100644 --- a/include/jemalloc/internal/arena.h +++ b/include/jemalloc/internal/arena.h @@ -405,7 +405,13 @@ void arena_tcache_fill_small(arena_t *arena, tcache_bin_t *tbin, size_t binind, uint64_t prof_accumbytes); void arena_alloc_junk_small(void *ptr, arena_bin_info_t *bin_info, bool zero); +#ifdef JEMALLOC_JET +typedef void (arena_redzone_corruption_t)(void *, size_t, bool, size_t, + uint8_t); +extern arena_redzone_corruption_t *arena_redzone_corruption_fptr; +#endif void arena_dalloc_junk_small(void *ptr, arena_bin_info_t *bin_info); +void arena_quarantine_junk_small(void *ptr, size_t usize); void *arena_malloc_small(arena_t *arena, size_t size, bool zero); void *arena_malloc_large(arena_t *arena, size_t size, bool zero); void *arena_palloc(arena_t *arena, size_t size, size_t alignment, bool zero); diff --git a/include/jemalloc/internal/private_symbols.txt b/include/jemalloc/internal/private_symbols.txt index 541e1b2..fae648c 100644 --- a/include/jemalloc/internal/private_symbols.txt +++ b/include/jemalloc/internal/private_symbols.txt @@ -50,8 +50,10 @@ arena_prof_ctx_set arena_prof_promoted arena_ptr_small_binind_get arena_purge_all +arena_quarantine_junk_small arena_ralloc arena_ralloc_no_move +arena_redzone_corruption arena_run_regind arena_salloc arena_stats_merge |