diff --git a/malloc/malloc.c b/malloc/malloc.c index 3a8aaeb665..5257ee24fd 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -3456,6 +3456,8 @@ __libc_free (void *mem) if (__glibc_unlikely (misaligned_chunk (p))) return malloc_printerr_tail ("free(): invalid pointer"); + check_inuse_chunk (arena_for_chunk (p), p); + #if USE_TCACHE if (__glibc_likely (size < mp_.tcache_max_bytes && tcache != NULL)) { @@ -4678,8 +4680,6 @@ _int_free_merge_chunk (mstate av, mchunkptr p, INTERNAL_SIZE_T size) { mchunkptr nextchunk = chunk_at_offset(p, size); - check_inuse_chunk (av, p); - /* Lightweight tests: check whether the block is already the top block. */ if (__glibc_unlikely (p == av->top))