[compiler-rt] [compiler-rt][asan] _aligned_malloc/_aligned_free interception. (PR #82049)

via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 20 04:50:37 PST 2024


zmodem wrote:

The test fails for me with the latest version: (I built the check-compiler-rt target, didn't really look at the code yet)

```
********************
Testing:  0.. 10.. 20.. 30.. 40..
FAIL: AddressSanitizer-x86_64-windows :: TestCases/Windows/aligned_mallocs.cpp (621 of 2773)
******************** TEST 'AddressSanitizer-x86_64-windows :: TestCases/Windows/aligned_mallocs.cpp' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
C:/src/llvm-project/build/./bin/clang-cl.exe  -fsanitize=address -Wno-deprecated-declarations -WX -D_HAS_EXCEPTIONS=0 -gline-tables-only -gcodeview -gcolumn-info      -Od C:\src\llvm-project\compiler-rt\test\asan\TestCases\Windows\aligned_mallocs.cpp -FeC:\src\llvm-project\build\projects\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Windows\Output\aligned_mallocs.cpp.tmp
# executed command: C:/src/llvm-project/build/./bin/clang-cl.exe -fsanitize=address -Wno-deprecated-declarations -WX -D_HAS_EXCEPTIONS=0 -gline-tables-only -gcodeview -gcolumn-info -Od 'C:\src\llvm-project\compiler-rt\test\asan\TestCases\Windows\aligned_mallocs.cpp' '-FeC:\src\llvm-project\build\projects\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Windows\Output\aligned_mallocs.cpp.tmp'
# RUN: at line 2
not  C:\src\llvm-project\build\projects\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Windows\Output\aligned_mallocs.cpp.tmp 2>&1 | FileCheck C:\src\llvm-project\compiler-rt\test\asan\TestCases\Windows\aligned_mallocs.cpp
# executed command: not 'C:\src\llvm-project\build\projects\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Windows\Output\aligned_mallocs.cpp.tmp'
# executed command: FileCheck 'C:\src\llvm-project\compiler-rt\test\asan\TestCases\Windows\aligned_mallocs.cpp'
# .---command stderr------------
# | C:\src\llvm-project\compiler-rt\test\asan\TestCases\Windows\aligned_mallocs.cpp:43:12: error: CHECK: expected string not found in input
# |  // CHECK: AddressSanitizer: heap-buffer-overflow on address [[ADDR:0x[0-9a-f]+]]
# |            ^
# | <stdin>:1:1: note: scanning from here
# | =================================================================
# | ^
# | <stdin>:2:12: note: possible intended match here
# | ==14208==ERROR: AddressSanitizer: attempting free on address which was not malloc()-ed: 0x000000000014 in thread T0
# |            ^
# |
# | Input file: <stdin>
# | Check file: C:\src\llvm-project\compiler-rt\test\asan\TestCases\Windows\aligned_mallocs.cpp
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# |             1: =================================================================
# | check:43'0     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |             2: ==14208==ERROR: AddressSanitizer: attempting free on address which was not malloc()-ed: 0x000000000014 in thread T0
# | check:43'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:43'1                ?                                                                                                         possible intended match
# |             3:  #0 0x7ffdf8627146 in free C:\src\llvm-project\compiler-rt\lib\asan\asan_malloc_win.cpp:71
# | check:43'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             4:  #1 0x7ff637182643 in free C:\src\llvm-project\compiler-rt\lib\asan\asan_malloc_win_thunk.cpp:52
# | check:43'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             5:  #2 0x7ff6371939dd in _aligned_free_base minkernel\crts\ucrt\src\appcrt\heap\align.cpp:530
# | check:43'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             6:  #3 0x7ff6371939dd in _aligned_free minkernel\crts\ucrt\src\appcrt\heap\align.cpp:543
# | check:43'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             7:  #4 0x7ff637181266 in main C:\src\llvm-project\compiler-rt\test\asan\TestCases\Windows\aligned_mallocs.cpp:37:3
# | check:43'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--
```

https://github.com/llvm/llvm-project/pull/82049


More information about the llvm-commits mailing list