summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/help/TestHelp.py
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2016-03-24 20:19:48 +0000
committerReid Kleckner <rnk@google.com>2016-03-24 20:19:48 +0000
commit3b0290570b031a579b17e5cfad0e381576779489 (patch)
treefcdb3bc4db093cf91c2d51ee0ed187eb2f9ac8a6 /lldb/packages/Python/lldbsuite/test/help/TestHelp.py
parentf4cc7525535a590624b4bdfdb0cef73b8dcd17a1 (diff)
downloadbcm5719-llvm-3b0290570b031a579b17e5cfad0e381576779489.tar.gz
bcm5719-llvm-3b0290570b031a579b17e5cfad0e381576779489.zip
[asan] Intercept all Heap* related imports from ucrtbase.dll
ucrtbase.dll appears to be built with some kind of cross-module inlining, because there are calls to imported Heap* routines sprinkled throughout the code. This inlining defeats our attempts to hotpatch malloc, _malloc_base, and related functions. Failing to intercept an allocation or deallocation results in a crash when the program attempts to deallocate or reallocate memory with the wrong allocator. This change patches the IAT of ucrtbase.dll to replace the addresses of the imported Heap* functions with implementations provided by ASan. We don't globally intercept the win32 Heap* functions because they are typically used by system DLLs that run before ASan initializes. Eventually, we may want to intercept them, but for now I think this is the minimal change that will keep ASan stable. Reviewers: samsonov Differential Revision: http://reviews.llvm.org/D18413 llvm-svn: 264327
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/help/TestHelp.py')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud