diff options
author | dodji <dodji@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-02-16 09:32:56 +0000 |
---|---|---|
committer | dodji <dodji@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-02-16 09:32:56 +0000 |
commit | d9dc05a18a24f4096a08dd3866da04d1abaf7c1a (patch) | |
tree | 8d20d0d3ec1ed8a33b52873e900b4acbeff14e5c /gcc/testsuite/c-c++-common/pr33763.c | |
parent | 5fcbca6b321a23646e3202399ca2dafa824425db (diff) | |
download | gcc-d9dc05a18a24f4096a08dd3866da04d1abaf7c1a.tar.gz |
[asan] Fix for PR asan/56330
gcc/
* asan.c (get_mem_refs_of_builtin_call): White space and style
cleanup.
(instrument_mem_region_access): Do not forget to always put
instrumentation of the of 'base' and 'base + len' in a "if (len !=
0) statement, even for cases where either 'base' or 'base + len'
are not instrumented -- because they have been previously
instrumented. Simplify the logic by putting all the statements
instrument 'base + len' inside a sequence, and then insert that
sequence right before the current insertion point. Then, to
instrument 'base + len', just get an iterator on that statement.
And do not forget to update the pointer to iterator the function
received as argument.
gcc/testsuite/
* c-c++-common/asan/no-redundant-instrumentation-4.c: New test file.
* c-c++-common/asan/no-redundant-instrumentation-5.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-6.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-7.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-8.c: Likewise.
* c-c++-common/asan/pr56330.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-1.c (test1):
Ensure the size argument of __builtin_memcpy is a constant.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196102 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/c-c++-common/pr33763.c')
0 files changed, 0 insertions, 0 deletions