https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105750
Bug ID: 105750 Summary: Too small red zone size for struct variables. Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: sanitizer Assignee: unassigned at gcc dot gnu.org Reporter: shaohua.li at inf dot ethz.ch 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: --- For the following code, gcc only generates 32 bytes red zone for the struct variable j, which makes it fail to detect the buffer-overflow in k(). $cat a.c struct a { int b; long c[2]; char d; long f; char g }; int i; volatile struct a j[1][6] = {2}; long k() { return j[0][6].f; } int main() { return k(); } $ $gcc-trunk -O0 -fsanitize=address -w a.c && ./a.out $ $