[Bug sanitizer/82046] New: Bogus -fsanitize=undefined error with -O2 -Wall
hjl.tools at gmail dot com
gcc-bugzilla@gcc.gnu.org
Thu Aug 31 00:06:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82046
Bug ID: 82046
Summary: Bogus -fsanitize=undefined error with -O2 -Wall
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: sanitizer
Assignee: unassigned at gcc dot gnu.org
Reporter: hjl.tools at gmail 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, marxin at gcc dot gnu.org
Target Milestone: ---
[hjl@gnu-6 gcc]$ cat /tmp/x.i
typedef struct sym
{
unsigned long bb_addr[10];
unsigned long bb_calls[10];
}
Sym;
void
annotate_with_count (Sym *b)
{
unsigned int i;
unsigned long last_count;
char tmpbuf[10 * 30];
char *p;
p = tmpbuf;
*p = '\0';
for (i = 0; i < 10 && b->bb_addr[i]; i++)
{
last_count = b->bb_calls[i];
if (p > tmpbuf)
*p++ = ',';
__builtin_sprintf (p, "%lu", last_count);
p += __builtin_strlen (p);
}
}
[hjl@gnu-6 gcc]$ ./xgcc -B./ -S /tmp/x.i -Wall -O2 -fsanitize=undefined
/tmp/x.i: In function ‘annotate_with_count’:
/tmp/x.i:24:7: warning: null destination pointer [-Wformat-overflow=]
__builtin_sprintf (p, "%lu", last_count);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[hjl@gnu-6 gcc]$
More information about the Gcc-bugs
mailing list