sanitizer/99673 - bad -Wstringop-overread diagnostic with asan
The testcase got fixed by lowering of &MEM[ptr + CST] to ptr + CST. 2022-01-21 Richard Biener <rguenther@suse.de> PR sanitizer/99673 * gcc.dg/asan/pr99673.c: New testcase.
This commit is contained in:
parent
9d7a84b969
commit
caca8eddd9
27
gcc/testsuite/gcc.dg/asan/pr99673.c
Normal file
27
gcc/testsuite/gcc.dg/asan/pr99673.c
Normal file
@ -0,0 +1,27 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-additional-options "-Wstringop-overread" } */
|
||||
|
||||
struct B {
|
||||
int i;
|
||||
struct A {
|
||||
short sa[8];
|
||||
} a[2];
|
||||
};
|
||||
|
||||
struct C {
|
||||
char n, ax[];
|
||||
};
|
||||
|
||||
struct D { int i, j, k; };
|
||||
|
||||
int f (const short[8]);
|
||||
|
||||
void g (struct C *pc, struct D *pd, int i)
|
||||
{
|
||||
struct B *pb = (void *)pc->ax;
|
||||
pd->i = pb->i;
|
||||
|
||||
const short *psa = pb->a[i].sa;
|
||||
if (f (psa))
|
||||
return;
|
||||
}
|
Loading…
Reference in New Issue
Block a user