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
This commit is contained in:
Martin Liska 2018-12-27 10:47:20 +01:00 committed by Martin Liska
parent 596883039a
commit 96051ee57b
3 changed files with 12 additions and 7 deletions

View File

@ -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.

View File

@ -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();

View File

@ -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();
};