diff options
author | Kostya Serebryany <kcc@google.com> | 2016-06-16 20:06:06 +0000 |
---|---|---|
committer | Kostya Serebryany <kcc@google.com> | 2016-06-16 20:06:06 +0000 |
commit | 5bb1631a69eb8b8f3c7eca7476e320372c967454 (patch) | |
tree | f3df59dc858ce59bb2219a6f4eb5414d594569dd /lib/asan/asan_internal.h | |
parent | ed4063874ac289bc42a04347853716bb8b74f9de (diff) |
[sanitizers] introduce yet another API function: __sanitizer_install_malloc_and_free_hooks
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@272943 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/asan/asan_internal.h')
-rw-r--r-- | lib/asan/asan_internal.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/asan/asan_internal.h b/lib/asan/asan_internal.h index 8a815e3c1..91101722c 100644 --- a/lib/asan/asan_internal.h +++ b/lib/asan/asan_internal.h @@ -110,10 +110,16 @@ bool PlatformHasDifferentMemcpyAndMemmove(); // Add convenient macro for interface functions that may be represented as // weak hooks. -#define ASAN_MALLOC_HOOK(ptr, size) \ - if (&__sanitizer_malloc_hook) __sanitizer_malloc_hook(ptr, size) -#define ASAN_FREE_HOOK(ptr) \ - if (&__sanitizer_free_hook) __sanitizer_free_hook(ptr) +#define ASAN_MALLOC_HOOK(ptr, size) \ + do { \ + if (&__sanitizer_malloc_hook) __sanitizer_malloc_hook(ptr, size); \ + RunMallocHooks(ptr, size); \ + } while (false) +#define ASAN_FREE_HOOK(ptr) \ + do { \ + if (&__sanitizer_free_hook) __sanitizer_free_hook(ptr); \ + RunFreeHooks(ptr); \ + } while (false) #define ASAN_ON_ERROR() \ if (&__asan_on_error) __asan_on_error() |