Skip to content

Commit 1f16d64

Browse files
authored
Update ASan known issues regarding operator overrides
Clarified the impact of MFC's custom operator overrides on ASan's error detection capabilities.
1 parent 2903137 commit 1f16d64

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

docs/sanitizers/asan-known-issues.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,12 @@ int main() {
5959

6060
AddressSanitizer (ASan) uses a custom version of `operator new` and `operator delete` to find allocation errors like [`alloc_dealloc_mismatch`](error-alloc-dealloc-mismatch.md). Running the linker with [`/INFERASANLIBS`](../build/reference/inferasanlibs.md) ensures that ASan's `new`/`delete` override has low precedence, so that the linker chooses any `operator new` or `operator delete` overrides in other libraries over ASan's custom versions. When this happens, ASan may not be able to catch some errors that rely on its custom `operator new` and `operator delete`.
6161

62-
[MFC](../mfc/mfc-concepts.md) includes custom overrides for `operator new` and `operator delete` and might miss errors like [`alloc_dealloc_mismatch`](error-alloc-dealloc-mismatch.md).
63-
62+
[MFC](../mfc/mfc-concepts.md) includes custom overrides for `operator new` and `operator delete`. Any operation that utilizes these provided operators instead of the ASan provided `operator new` and `operator delete` might miss errors entirely or classify them incorrectly as a result:
63+
- [`alloc_dealloc_mismatch`](error-alloc-dealloc-mismatch.md)
64+
- [`double-free`](error-double-free.md)
65+
- [`heap-use-after-free`](error-heap-use-after-free.md)
66+
- [`heap-buffer-overflow`](error-heap-buffer-overflow.md)
67+
- [`new-delete-type-mismatch`](error-new-delete-type-mismatch.md)
6468

6569
## Memory usage
6670

0 commit comments

Comments
 (0)