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:
parent
ba3e93ca35
commit
3fa9e34bdc
@ -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
|
||||
===========================================
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user