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:
Richard Biener 2022-01-21 13:57:12 +01:00
parent 9d7a84b969
commit caca8eddd9

View 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;
}