summaryrefslogtreecommitdiff
path: root/asan_ignore
Commit message (Collapse)AuthorAgeFilesLines
* asan_ignore: Explicitly list ignored behavior fcnsKarl Williamson2019-05-241-2/+5
| | | | | | | | Overflow on signed integers is undefined behavior. Perl does whatever the underlying compiler does in this case. Previously this file used a wildcard which could specify more functions than we really expect to see this potential overflow from. It is safer to mention explicitly all the functions.
* Remove undefined behavior from IV shiftingKarl Williamson2019-05-241-5/+0
| | | | | | It is undefined behavior to shift a negative integer to the left. This commit avoids that by treating the value as unsigned, then casting back to integer for return.
* asan_ignore: exclude S_expect_number()David Mitchell2014-12-311-0/+5
| | | | | | | | This function numifies the field width string in something like printf "%10f". It handles integer overflow itself, so suppress ASan warnings, e.g. sv.c:10716:26: runtime error: signed integer overflow: 922337203 * 10 cannot be represented in type 'int'
* asan_ignore: exclude Perl_pp_left_shift()David Mitchell2014-12-311-0/+6
| | | | | | | | | | | | | | << in perl maps directly to << in C, so don't warn about it when the RHS is too big. Fixes e.g.: print 1 << 64 use integer; print 1 << 63 Typical ASan warning: pp.c:1893:2: runtime error: left shift of 1 by 63 places cannot be represented in type 'IV' (aka 'long')
* add asan_ignore - which errors to ignoreDavid Mitchell2014-12-191-0/+19
"clang -fsanitize=undefined" produces lots of false positives. This file allows certain functions to be excluded from checking. Use it as: clang -fsanitize=undefined -fsanitize-blacklist=`pwd`/asan_ignore