diff options
author | Marat Zakirov <m.zakirov@samsung.com> | 2014-10-13 10:44:45 +0000 |
---|---|---|
committer | Marat Zakirov <mzakirov@gcc.gnu.org> | 2014-10-13 10:44:45 +0000 |
commit | 913f32a121d0c3801de4b226e2cc24c39b84f84d (patch) | |
tree | 6dae693f0bef674747471944ac942c184fa0110a /gcc/testsuite/c-c++-common/asan | |
parent | 2f6ca9d31799133f80e446bd1faad5d9a67bac00 (diff) | |
download | gcc-913f32a121d0c3801de4b226e2cc24c39b84f84d.zip gcc-913f32a121d0c3801de4b226e2cc24c39b84f84d.tar.gz gcc-913f32a121d0c3801de4b226e2cc24c39b84f84d.tar.bz2 |
asan.c (instrument_derefs): BIT_FIELD_REF added.
gcc/ChangeLog:
2014-09-19 Marat Zakirov <m.zakirov@samsung.com>
* asan.c (instrument_derefs): BIT_FIELD_REF added.
gcc/testsuite/ChangeLog:
2014-09-19 Marat Zakirov <m.zakirov@samsung.com>
* c-c++-common/asan/bitfield-5.c: New test.
From-SVN: r216144
Diffstat (limited to 'gcc/testsuite/c-c++-common/asan')
-rw-r--r-- | gcc/testsuite/c-c++-common/asan/bitfield-5.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/c-c++-common/asan/bitfield-5.c b/gcc/testsuite/c-c++-common/asan/bitfield-5.c new file mode 100644 index 0000000..eb5e9e9 --- /dev/null +++ b/gcc/testsuite/c-c++-common/asan/bitfield-5.c @@ -0,0 +1,24 @@ +/* Check BIT_FIELD_REF. */ + +/* { dg-do run } */ +/* { dg-shouldfail "asan" } */ + +struct A +{ + int y : 20; + int x : 13; +}; + +int __attribute__ ((noinline, noclone)) +f (void *p) { + return ((struct A *)p)->x != 0; +} + +int +main () +{ + int a = 0; + return f (&a); +} + +/* { dg-output "ERROR: AddressSanitizer: stack-buffer-overflow" } */ |