[all-commits] [llvm/llvm-project] 0a35ac: [ASan][libc++] Annotating std::deque with all allo...
Tacet via All-commits
all-commits at lists.llvm.org
Thu Jul 20 01:17:48 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 0a35ac6c2e0cb0160ca2e6cc11644c263692a46d
https://github.com/llvm/llvm-project/commit/0a35ac6c2e0cb0160ca2e6cc11644c263692a46d
Author: Advenam Tacet <advenam.tacet at trailofbits.com>
Date: 2023-07-20 (Thu, 20 Jul 2023)
Changed paths:
M libcxx/include/deque
M libcxx/test/libcxx/containers/sequences/deque/asan.pass.cpp
A libcxx/test/libcxx/containers/sequences/deque/asan_turning_off.pass.cpp
Log Message:
-----------
[ASan][libc++] Annotating std::deque with all allocators
This patch is part of our efforts to support container annotations with (almost) every allocator.
Annotating std::deque with default allocator is implemented in D132092.
Support in ASan API exests since rG1c5ad6d2c01294a0decde43a88e9c27d7437d157.
The motivation for a research and those changes was a bug, found by Trail of Bits, in a real code where an out-of-bounds read could happen as two strings were compared via a `std::equals` function that took `iter1_begin`, `iter1_end`, `iter2_begin` iterators (with a custom comparison function).
When object `iter1` was longer than `iter2`, read out-of-bounds on `iter2` could happen. Container sanitization would detect it.
If you have any questions, please email:
- advenam.tacet at trailofbits.com
- disconnect3d at trailofbits.com
Reviewed By: #libc, ldionne
Differential Revision: https://reviews.llvm.org/D146815
More information about the All-commits
mailing list