From 0f2b58aef2147c44b04df027d10a195a1b0ba3be Mon Sep 17 00:00:00 2001 From: dodji Date: Thu, 14 Feb 2013 04:37:56 +0000 Subject: [PATCH] [asan] Fix a thinko leading to a crash It appeared that in my previous patch, a stupid thinko can lead to a crash when instrumenting some builtin functionsK. Fixed thus. Bootstrapped and tested against trunk on x86_64-unknown-linux-gnu. gcc/ * asan.c (instrument_builtin_call): Really put the length of the second source argument into src1_len. gcc/testsuite/ * c-c++-common/asan/memcmp-2.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196044 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/asan.c | 2 +- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/c-c++-common/asan/memcmp-2.c | 10 ++++++++++ 4 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/c-c++-common/asan/memcmp-2.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4dd2753a72a..25e4f0fe9a9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-02-14 Dodji Seketeli + + Fix an asan crash + * asan.c (instrument_builtin_call): Really put the length of the + second source argument into src1_len. + 2013-02-13 Jakub Jelinek * asan.c (create_cond_insert_point): Add create_then_fallthru_edge diff --git a/gcc/asan.c b/gcc/asan.c index 9e22c42743b..a569479059d 100644 --- a/gcc/asan.c +++ b/gcc/asan.c @@ -1771,7 +1771,7 @@ instrument_builtin_call (gimple_stmt_iterator *iter) if (get_mem_refs_of_builtin_call (call, &src0, &src0_len, &src0_is_store, - &src1, &src0_len, &src1_is_store, + &src1, &src1_len, &src1_is_store, &dest, &dest_len, &dest_is_store, &dest_is_deref)) { diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e4f70ceeef0..e3ae57d367f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-02-14 Dodji Seketeli + + Fix an asan crash + * c-c++-common/asan/memcmp-2.c: New test. + 2013-02-13 Ed Smith-Rowland <3dw4rd@verizon.net> PR c++/55582 diff --git a/gcc/testsuite/c-c++-common/asan/memcmp-2.c b/gcc/testsuite/c-c++-common/asan/memcmp-2.c new file mode 100644 index 00000000000..be20cd81eef --- /dev/null +++ b/gcc/testsuite/c-c++-common/asan/memcmp-2.c @@ -0,0 +1,10 @@ +/* { dg-do compile } */ + +int +foo () +{ + char s0[5] = {0}; + char s1[5] = {1}; + + return __builtin_memcmp (s0, s1, 2); +} -- 2.11.4.GIT