Skip to content

Commit 67ac39f

Browse files
committed
updating asan runtime documentation for iat_overwrite option
1 parent b6d3188 commit 67ac39f

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

docs/sanitizers/asan-runtime.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,13 @@ For more information, see the [Differences with Clang 12.0](./asan.md#difference
8686
>
8787
> The option `windows_hook_rtl_allocators`, previously an opt-in feature while AddressSanitizer was experimental, is now enabled by default.
8888
89+
- `iat_overwrite`
90+
String, set to `"error"` by default. This option manages the protection level from the runtime regarding [`Import Address Table` (IAT)](windows/win32/debug/pe-format#import-address-table) overwrites for certain [`memoryapi.h`](windows/win32/api/memoryapi/) functions. Possible values are `"error"`, `"protect"`, and `"ignore"`.
91+
* The functions currently tracked for protection are [`VirtualAlloc`](windows/win32/api/memoryapi/nf-memoryapi-virtualalloc), [`VirtualProtect`](windows/win32/api/memoryapi/nf-memoryapi-virtualprotect), and [`VirtualQuery`](windows/win32/api/memoryapi/nf-memoryapi-virtualquery).
92+
* If set to `"error"`, the default value, the runtime will return an error whenever an overwrite is detected.
93+
* If set to `"protect"`, the runtime will attempt to protect the binary from overwriting the IAT and proceed.
94+
* If set to `"ignore"`, the runtime will not attempt to correct any IAT overwrite and proceed with execution.
95+
8996
## <a name="intercepted_functions"></a> AddressSanitizer list of intercepted functions (Windows)
9097

9198
The AddressSanitizer runtime hot-patches many functions to enable memory safety checks at runtime. Here's a non-exhaustive list of the functions that the AddressSanitizer runtime monitors.

0 commit comments

Comments
 (0)