[Bug sanitizer/63806] New: #UBSAN ignores signed char possible overflow
m.zakirov at samsung dot com
gcc-bugzilla@gcc.gnu.org
Mon Nov 10 13:14:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63806
Bug ID: 63806
Summary: #UBSAN ignores signed char possible overflow
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: sanitizer
Assignee: unassigned at gcc dot gnu.org
Reporter: m.zakirov at samsung dot com
CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
jakub at gcc dot gnu.org, kcc at gcc dot gnu.org
For the following example GCC with ubsan do not constructs UBSAN_ADD_CHECK for
signed char return value.
signed char a;
signed char b;
signed char foo ()
{
return a + b;
}
Dump after ubsan
foo ()
{
signed char a.0_2;
unsigned char a.1_3;
signed char b.2_4;
unsigned char b.3_5;
unsigned char _6;
signed char _7;
<bb 2>:
a.0_2 = a;
a.1_3 = (unsigned char) a.0_2;
b.2_4 = b;
b.3_5 = (unsigned char) b.2_4;
_6 = a.1_3 + b.3_5;
_7 = (signed char) _6;
return _7;
}
Command line to reproduce
gcc -O3 t.c -fsanitize=signed-integer-overflow -fdump-tree-ubsan -S
More information about the Gcc-bugs
mailing list