[lsan] Invoke hooks on realloc
authorJin Xin Ng <njx@google.com>
Mon, 22 May 2023 21:13:46 +0000 (21:13 +0000)
committerJin Xin Ng <njx@google.com>
Tue, 23 May 2023 16:42:07 +0000 (16:42 +0000)
commit90418dc95ec1cd5aeb844d93f055b94759e2c408
treee5f3a061a1550f413051041cc40c4e131bbf53c1
parentda60b9e7dc6b217ecd8f422a71ee3aa4a4022015
[lsan] Invoke hooks on realloc

Previously lsan would not invoke hooks on reallocations.
An accompanying regression test is included in sanitizer_common.

This change also moves hook calls to a location where subsequent
calls (via an external caller) to __sanitizer_get_allocated_size
via hooks will return a valid size.

This allows a faster version of __sanitizer_get_allocated_size
to be implemented, which can skip checks.

Test to ensure RunFreeHooks' call order will come with
__sanitizer_get_allocated_size_fast

Differential Revision: https://reviews.llvm.org/D151175
compiler-rt/lib/lsan/lsan_allocator.cpp
compiler-rt/test/sanitizer_common/TestCases/malloc_hook.cpp