/* PR sanitizer/105714 */ | |
/* { dg-do run } */ | |
/* { dg-skip-if "" { *-*-* } { "*" } { "-Os" } } */ | |
/* { dg-shouldfail "asan" } */ | |
struct A { int x; }; | |
struct A b[2]; | |
struct A *c = b, *d = b; | |
int e; | |
int | |
foo () | |
{ | |
for (e = 0; e < 1; e++) | |
{ | |
int i[1]; | |
i; | |
} | |
for (int h = 0; h < 3; h++) | |
*c = *d; | |
*c = *(b + 3); | |
return c->x; | |
} | |
int | |
main () | |
{ | |
foo (); | |
return 0; | |
} | |
/* { dg-output "ERROR: AddressSanitizer: global-buffer-overflow on address.*(\n|\r\n|\r)" } */ | |
/* { dg-output "READ of size.*" } */ |