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 | |
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')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/asan.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/c-c++-common/asan/bitfield-5.c | 24 |
4 files changed, 33 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a835933..667da04 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2014-10-13 Marat Zakirov <m.zakirov@samsung.com> + + * asan.c (instrument_derefs): BIT_FIELD_REF added. + 2014-10-13 Richard Biener <rguenther@suse.de> PR tree-optimization/63419 @@ -1711,6 +1711,7 @@ instrument_derefs (gimple_stmt_iterator *iter, tree t, case INDIRECT_REF: case MEM_REF: case VAR_DECL: + case BIT_FIELD_REF: break; /* FALLTHRU */ default: diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1ab2f21..2134ada 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2014-09-19 Marat Zakirov <m.zakirov@samsung.com> + + * c-c++-common/asan/bitfield-5.c: New test. + 2014-10-13 Richard Biener <rguenther@suse.de> PR tree-optimization/63419 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" } */ |