// { dg-do run } | |
// { dg-shouldfail "asan" } | |
// { dg-skip-if "" { *-*-* } { "*" } { "-O0" } } | |
int | |
main (void) | |
{ | |
char *ptr; | |
char *ptr2; | |
{ | |
char my_char[9]; | |
ptr = &my_char[0]; | |
__builtin_memcpy (&ptr2, &ptr, sizeof (ptr2)); | |
} | |
*(ptr2+9) = 'c'; | |
} | |
// { dg-output "ERROR: AddressSanitizer: stack-use-after-scope on address.*(\n|\r\n|\r)" } | |
// { dg-output "WRITE of size 1 at.*" } | |
// { dg-output ".*'my_char' \\(line 11\\) <== Memory access at offset \[0-9\]* overflows this variable.*" } |