Regenerate readme with new tweaks

This commit is contained in:
doyle 2023-08-28 22:43:42 +10:00
parent 3cb73972ee
commit 7b0c65e253

View File

@ -42,12 +42,10 @@ to dig into source code or read the [ASAN paper](https://static.googleuserconten
We use a stack-allocated 16 byte array and test un/poisoning We use a stack-allocated 16 byte array and test un/poisoning
various ranges of bytes from different alignments to clarify the various ranges of bytes from different alignments to clarify the
poisoning behaviour of the API. poisoning behaviour of the API. This reveals that calling the API
haphazardly, unaligned or straddling boundaries can lead to gaps in
This reveals that calling the API haphazardly, unaligned or poisoned memory and hide potential leaks (as also demonstrated in
straddling boundaries can lead to gaps in poisoned memory and hide [Manual ASAN poisoning and alignment](https://github.com/mcgov/asan_alignment_example)).
potential leaks (as also demonstrated in [Manual ASAN poisoning and
alignment](https://github.com/mcgov/asan_alignment_example)).
## References ## References
@ -56,11 +54,12 @@ alignment](https://github.com/mcgov/asan_alignment_example)).
- [sanitizer/asan_interface.h](https://github.com/llvm-mirror/compiler-rt/blob/master/include/sanitizer/asan_interface.h) - [sanitizer/asan_interface.h](https://github.com/llvm-mirror/compiler-rt/blob/master/include/sanitizer/asan_interface.h)
## Raw Test Results ## Raw Test Results
Here we demonstrate that ASAN poison-ing will only poison the
byte region if the region meets an 8 byte boundary. It will only Here we poison a sliding window of 7 bytes to demonstrate that ASAN
poison bytes upto the 8 byte boundary, any bytes that straddle poisoning will only poison the byte region if the region meets an 8
the boundary that do not hit the next 8 byte boundary are not byte aligned address. It will only poison bytes up to the boundary,
poison-ed. any bytes that straddle the boundary that do not hit the next 8 byte
boundary are not poisoned.
``` ```
Byte Array 00 01 02 03 04 05 06 07 | 08 09 10 11 12 13 14 15 Byte Array 00 01 02 03 04 05 06 07 | 08 09 10 11 12 13 14 15