Skip to content

Commit 3508fb5

Browse files
committed
updating the option for next patch
1 parent 8c6b6e1 commit 3508fb5

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

docs/sanitizers/asan-runtime.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,15 @@ For more information, see the [Differences with Clang 12.0](asan.md#differences)
7979
### MSVC-specific AddressSanitizer runtime options
8080

8181
- `windows_hook_legacy_allocators`
82-
Boolean, set to `true` to enable interception of [`GlobalAlloc`](/windows/win32/api/winbase/nf-winbase-globalalloc) and [`LocalAlloc`](/windows/win32/api/winbase/nf-winbase-localalloc) allocators.
82+
Boolean, set to `false` to disable interception of [`GlobalAlloc`](/windows/win32/api/winbase/nf-winbase-globalalloc) and [`LocalAlloc`](/windows/win32/api/winbase/nf-winbase-localalloc) allocators.
8383

8484
> [!NOTE]
8585
> The option `windows_hook_legacy_allocators` wasn't available in the public llvm-project runtime when this article was written. The option may eventually be contributed back to the public project; however, it's dependent on code review and community acceptance.
8686
>
8787
> The option `windows_hook_rtl_allocators`, previously an opt-in feature while AddressSanitizer was experimental, is now enabled by default.
88+
>
89+
>
90+
> As of Visual Studio 2022 version 17.4.6, this option's default value was changed from `false` to `true`.
8891
8992
- `iat_overwrite`
9093
String, set to `"error"` by default. Other possible values are `"protect"` and `"ignore"`. Some modules may overwrite the [`import address table`](/windows/win32/debug/pe-format#import-address-table) of other modules to customize implementations of certain functions. For example, drivers commonly provide custom implementations for specific hardware. The `iat_overwrite` option manages the AddressSanitizer runtime's protection against overwrites for specific [`memoryapi.h`](/windows/win32/api/memoryapi/) functions. The runtime currently tracks the [`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) functions for protection. This option is available in Visual Studio 2022 version 17.5 preview 1 and later versions. The following `iat_overwrite` values control how the runtime reacts when protected functions are overwritten:
@@ -173,8 +176,8 @@ The AddressSanitizer runtime hot-patches many functions to enable memory safety
173176

174177
### Optional interceptors
175178

176-
The interceptors listed here are only installed when an AddressSanitizer runtime option is enabled. Set `windows_hook_legacy_allocators` to `true` to enable legacy allocator interception.
177-
`set ASAN_OPTIONS=windows_hook_legacy_allocators=true`
179+
The interceptors listed here are only installed when an AddressSanitizer runtime option is enabled. Set `windows_hook_legacy_allocators` to `false` to disable legacy allocator interception.
180+
`set ASAN_OPTIONS=windows_hook_legacy_allocators=false`
178181

179182
- [`GlobalAlloc`](/windows/win32/api/winbase/nf-winbase-globalalloc)
180183
- [`GlobalFree`](/windows/win32/api/winbase/nf-winbase-GlobalFree)

0 commit comments

Comments
 (0)