Commit a54fce8
authored
[libc++abi] Don't do pointer arithmetic on nullptr (#119520)
`nullptr + offset` is possible after `!is_virtual` branch.
Detected with check-cxxabi on configured with:
```
cmake -DLLVM_APPEND_VC_REV=OFF -GNinja \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_CCACHE_BUILD=ON \
-DLLVM_USE_LINKER=lld \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
-DLIBCXXABI_USE_LLVM_UNWINDER=OFF \
-DCMAKE_INSTALL_PREFIX=/home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_install_ubsan \
'-DLLVM_ENABLE_RUNTIMES=libcxx;libcxxabi;libunwind' \
-DLIBCXX_TEST_PARAMS=long_tests=False \
-DLIBCXX_INCLUDE_BENCHMARKS=OFF \
-DLLVM_USE_SANITIZER=Undefined \
'-DCMAKE_C_FLAGS=-fsanitize=undefined -fno-sanitize-recover=all -fno-sanitize=vptr' \
'-DCMAKE_CXX_FLAGS=-fsanitize=undefined -fno-sanitize-recover=all -fno-sanitize=vptr' \
/home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/../runtimes
********************
Failed Tests (2):
llvm-libc++abi-shared.cfg.in :: catch_null_pointer_to_object_pr64953.pass.cpp
llvm-libc++abi-shared.cfg.in :: catch_ptr_02.pass.cpp
```1 parent eac1e13 commit a54fce8
1 file changed
+3
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
591 | 591 | | |
592 | 592 | | |
593 | 593 | | |
594 | | - | |
595 | | - | |
596 | | - | |
597 | | - | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
598 | 597 | | |
599 | 598 | | |
600 | 599 | | |
| |||
0 commit comments