diff options
author | Martin Liska <mliska@suse.cz> | 2018-12-27 10:47:20 +0100 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2018-12-27 09:47:20 +0000 |
commit | 96051ee57ba1fd7bbaa79fe880bf487eec62e54a (patch) | |
tree | 6bb798a91cb51eca2c67ba86972b52ae310374ec /libsanitizer | |
parent | 596883039a3e90fef3aa597d7d5ebae467543e39 (diff) | |
download | gcc-96051ee57ba1fd7bbaa79fe880bf487eec62e54a.zip gcc-96051ee57ba1fd7bbaa79fe880bf487eec62e54a.tar.gz gcc-96051ee57ba1fd7bbaa79fe880bf487eec62e54a.tar.bz2 |
Cherry pick libsanitizer patch (https://reviews.llvm.org/D54856).
2018-12-27 Martin Liska <mliska@suse.cz>
PR sanitizer/86229
* asan/asan_errors.cc (ErrorAllocTypeMismatch::Print): Cherry
pick rL350085.
* asan/asan_errors.h (struct ErrorAllocTypeMismatch): Likewise.
From-SVN: r267432
Diffstat (limited to 'libsanitizer')
-rw-r--r-- | libsanitizer/ChangeLog | 7 | ||||
-rw-r--r-- | libsanitizer/asan/asan_errors.cc | 5 | ||||
-rw-r--r-- | libsanitizer/asan/asan_errors.h | 7 |
3 files changed, 12 insertions, 7 deletions
diff --git a/libsanitizer/ChangeLog b/libsanitizer/ChangeLog index c9e36bf..aa34be5 100644 --- a/libsanitizer/ChangeLog +++ b/libsanitizer/ChangeLog @@ -1,3 +1,10 @@ +2018-12-27 Martin Liska <mliska@suse.cz> + + PR sanitizer/86229 + * asan/asan_errors.cc (ErrorAllocTypeMismatch::Print): Cherry + pick rL350085. + * asan/asan_errors.h (struct ErrorAllocTypeMismatch): Likewise. + 2018-11-09 Martin Liska <mliska@suse.cz> * LOCAL_PATCHES: Include one local patch. diff --git a/libsanitizer/asan/asan_errors.cc b/libsanitizer/asan/asan_errors.cc index b9d02a7..65941f6 100644 --- a/libsanitizer/asan/asan_errors.cc +++ b/libsanitizer/asan/asan_errors.cc @@ -123,9 +123,8 @@ void ErrorAllocTypeMismatch::Print() { Decorator d; Printf("%s", d.Error()); Report("ERROR: AddressSanitizer: %s (%s vs %s) on %p\n", - scariness.GetDescription(), - alloc_names[alloc_type], dealloc_names[dealloc_type], - addr_description.addr); + scariness.GetDescription(), alloc_names[alloc_type], + dealloc_names[dealloc_type], addr_description.Address()); Printf("%s", d.Default()); CHECK_GT(dealloc_stack->size, 0); scariness.Print(); diff --git a/libsanitizer/asan/asan_errors.h b/libsanitizer/asan/asan_errors.h index 5ed15dc..b155f24 100644 --- a/libsanitizer/asan/asan_errors.h +++ b/libsanitizer/asan/asan_errors.h @@ -108,8 +108,8 @@ struct ErrorFreeNotMalloced : ErrorBase { struct ErrorAllocTypeMismatch : ErrorBase { const BufferedStackTrace *dealloc_stack; - HeapAddressDescription addr_description; AllocType alloc_type, dealloc_type; + AddressDescription addr_description; ErrorAllocTypeMismatch() = default; // (*) ErrorAllocTypeMismatch(u32 tid, BufferedStackTrace *stack, uptr addr, @@ -117,9 +117,8 @@ struct ErrorAllocTypeMismatch : ErrorBase { : ErrorBase(tid, 10, "alloc-dealloc-mismatch"), dealloc_stack(stack), alloc_type(alloc_type_), - dealloc_type(dealloc_type_) { - GetHeapAddressInformation(addr, 1, &addr_description); - }; + dealloc_type(dealloc_type_), + addr_description(addr, 1, false) {} void Print(); }; |