From: Richard Biener Date: Fri, 21 Jan 2022 12:57:12 +0000 (+0100) Subject: sanitizer/99673 - bad -Wstringop-overread diagnostic with asan X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=caca8eddd9356777f5fe28454eb083b1779adc26;p=test_jj.git 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 PR sanitizer/99673 * gcc.dg/asan/pr99673.c: New testcase. --- diff --git a/gcc/testsuite/gcc.dg/asan/pr99673.c b/gcc/testsuite/gcc.dg/asan/pr99673.c new file mode 100644 index 0000000..05857fd --- /dev/null +++ b/gcc/testsuite/gcc.dg/asan/pr99673.c @@ -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; +}