From 5b25dc6fa4bf63d783e8f8db73abc22ab111143b Mon Sep 17 00:00:00 2001 From: Eugene Kosov Date: Wed, 19 Sep 2018 22:01:00 +0300 Subject: MDEV-17248 Improve ASAN memory pool instrumentation alloc_root(): unpoison only requested amount of bytes instead of a possible bigger aligned-sized buffer. --- mysys/my_alloc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'mysys') diff --git a/mysys/my_alloc.c b/mysys/my_alloc.c index 24e95d2c69c..e727f46be6d 100644 --- a/mysys/my_alloc.c +++ b/mysys/my_alloc.c @@ -184,6 +184,7 @@ void *alloc_root(MEM_ROOT *mem_root, size_t length) uchar* point; reg1 USED_MEM *next= 0; reg2 USED_MEM **prev; + size_t original_length = length; DBUG_ENTER("alloc_root"); DBUG_PRINT("enter",("root: 0x%lx", (long) mem_root)); DBUG_ASSERT(alloc_root_inited(mem_root)); @@ -241,7 +242,7 @@ void *alloc_root(MEM_ROOT *mem_root, size_t length) mem_root->used= next; mem_root->first_block_usage= 0; } - TRASH_ALLOC(point, length); + TRASH_ALLOC(point, original_length); DBUG_PRINT("exit",("ptr: 0x%lx", (ulong) point)); DBUG_RETURN((void*) point); #endif -- cgit v1.2.1