aboutsummaryrefslogtreecommitdiff
path: root/libsanitizer
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2018-12-27 10:47:20 +0100
committerMartin Liska <marxin@gcc.gnu.org>2018-12-27 09:47:20 +0000
commit96051ee57ba1fd7bbaa79fe880bf487eec62e54a (patch)
tree6bb798a91cb51eca2c67ba86972b52ae310374ec /libsanitizer
parent596883039a3e90fef3aa597d7d5ebae467543e39 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--libsanitizer/asan/asan_errors.cc5
-rw-r--r--libsanitizer/asan/asan_errors.h7
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();
};