Skip to content

Commit b9a4488

Browse files
authored
Update asan-known-issues.md
Update known issues page to, instead of describe MFC as a one-off incompatibility, describe the heart of the problem that means MFC might miss some errors.
1 parent 7d1200d commit b9a4488

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

docs/sanitizers/asan-known-issues.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ These options and functionality are incompatible with [`/fsanitize=address`](../
2323
- [C++ AMP](../parallel/amp/cpp-amp-overview.md) is unsupported, and should be disabled.
2424
- [Universal Windows Platform](../cppcx/universal-windows-apps-cpp.md) (UWP) applications are unsupported.
2525
- [Special case list](https://clang.llvm.org/docs/SanitizerSpecialCaseList.html) files are unsupported.
26-
- [MFC](../mfc/mfc-concepts.md) using the optional [`alloc_dealloc_mismatch`](error-alloc-dealloc-mismatch.md) runtime option is unsupported.
2726

2827
## Standard library support
2928

@@ -55,6 +54,12 @@ int main() {
5554
}
5655
```
5756

57+
## Overriding operator new and delete
58+
59+
AddressSanitizer has a custom version of `operator new` and `operator delete` that are used to provide additional metadata about the allocations to ASan to find more errors, like [`alloc_dealloc_mismatch`](error-alloc-dealloc-mismatch.md). The linker is modified (via [`/INFERASANLIBS`](../build/reference/inferasanlibs.md)) to ensure that ASan's `new`/`delete` override has low precedence, so that any `operator new` or `operator delete` overrides in other libraries will be chosen by the linker over ASan's. When this happens, ASan may not be able to catch some errors that rely on it's custom `operator new` and `operator delete`.
60+
61+
[MFC](../mfc/mfc-concepts.md) includes custom overrides for `operator new` and `operator delete` and may miss errors like [`alloc_dealloc_mismatch`](error-alloc-dealloc-mismatch.md).
62+
5863
## Windows versions
5964

6065
As there are dependencies with specific Windows versions, support is focused on Windows 10. MSVC AddressSanitizer was tested on 10.0.14393 (RS1), and 10.0.21323 (prerelease insider build). [Report a bug](https://aka.ms/feedback/report?space=62) if you run into issues.

0 commit comments

Comments
 (0)