1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 02:33:06 +01:00

Add an unsigned shift base sanitizer

It's not undefined behavior for an unsigned left shift to overflow (i.e. to
shift bits out), but it has been the source of bugs and exploits in certain
codebases in the past. As we do in other parts of UBSan, this patch adds a
dynamic checker which acts beyond UBSan and checks other sources of errors. The
option is enabled as part of -fsanitize=integer.

The flag is named: -fsanitize=unsigned-shift-base
This matches shift-base and shift-exponent flags.

<rdar://problem/46129047>

Differential Revision: https://reviews.llvm.org/D86000
This commit is contained in:
JF Bastien 2020-08-14 14:05:57 -07:00
parent ba3e93ca35
commit 3fa9e34bdc

View File

@ -157,6 +157,14 @@ Changes to the LLVM tools
Changes to LLDB
---------------------------------
Changes to Sanitizers
---------------------
The integer sanitizer `-fsanitize=integer` now has a new sanitizer:
`-fsanitize=unsigned-shift-base`. It's not undefined behavior for an unsigned
left shift to overflow (i.e. to shift bits out), but it has been the source of
bugs and exploits in certain codebases in the past.
External Open Source Projects Using LLVM 12
===========================================