| # this file simulates a program that has been built with address sanitizer |
| # options |
| |
| message("ASAN_OPTIONS = [$ENV{ASAN_OPTIONS}]") |
| string(REGEX REPLACE ".*log_path='([^']*)'.*" "\\1" LOG_FILE "$ENV{ASAN_OPTIONS}") |
| message("LOG_FILE=[${LOG_FILE}]") |
| |
| # if we are not asked to simulate address sanitizer don't do it |
| if(NOT "$ENV{ASAN_OPTIONS}]" MATCHES "simulate_sanitizer.1") |
| return() |
| endif() |
| # clear the log file |
| file(REMOVE "${LOG_FILE}.2343") |
| |
| # create an example error from address santizer |
| |
| file(APPEND "${LOG_FILE}.2343" |
| "================================================================= |
| ==19278== ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60080000bffc at pc 0x4009f1 bp 0x7fff82de6520 sp 0x7fff82de6518 |
| WRITE of size 4 at 0x60080000bffc thread T0 |
| #0 0x4009f0 (/home/kitware/msan/a.out+0x4009f0) |
| #1 0x7f18b02c876c (/lib/x86_64-linux-gnu/libc-2.15.so+0x2176c) |
| #2 0x400858 (/home/kitware/msan/a.out+0x400858) |
| 0x60080000bffc is located 4 bytes to the right of 40-byte region [0x60080000bfd0,0x60080000bff8) |
| allocated by thread T0 here: |
| #0 0x7f18b088f9ca (/usr/lib/x86_64-linux-gnu/libasan.so.0.0.0+0x119ca) |
| #1 0x4009a2 (/home/kitware/msan/a.out+0x4009a2) |
| #2 0x7f18b02c876c (/lib/x86_64-linux-gnu/libc-2.15.so+0x2176c) |
| Shadow bytes around the buggy address: |
| 0x0c017fff97a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x0c017fff97b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x0c017fff97c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x0c017fff97d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x0c017fff97e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| =>0x0c017fff97f0: fa fa fa fa fa fa fa fa fa fa 00 00 00 00 00[fa] |
| 0x0c017fff9800:fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x0c017fff9810: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x0c017fff9820: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x0c017fff9830: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x0c017fff9840: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| Shadow byte legend (one shadow byte represents 8 application bytes): |
| Addressable: 00 |
| Partially addressable: 01 02 03 04 05 06 07 |
| Heap left redzone: fa |
| Heap righ redzone: fb |
| Freed Heap region: fd |
| Stack left redzone: f1 |
| Stack mid redzone: f2 |
| Stack right redzone: f3 |
| Stack partial redzone: f4 |
| Stack after return: f5 |
| Stack use after scope: f8 |
| Global redzone: f9 |
| Global init order: f6 |
| Poisoned by user: f7 |
| ASan internal: fe |
| ==19278== ABORTING |
| ") |