From 87e444e17df82a7b8fb9a2cfe6968a0fffb46df0 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Sat, 19 Nov 2016 20:49:04 +0200 Subject: Remove comparison of this with nullptr GCC6 optimizes it out, leading to crash. Change-Id: I8425d456c1364929d135ce3860121b8098bab1f7 Reviewed-on: https://chromium-review.googlesource.com/413120 Reviewed-by: Mike Frysinger --- src/processor/synth_minidump.cc | 15 +++++++++------ src/processor/synth_minidump.h | 7 ------- 2 files changed, 9 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/processor/synth_minidump.cc b/src/processor/synth_minidump.cc index 2cfbb088..ade150ef 100644 --- a/src/processor/synth_minidump.cc +++ b/src/processor/synth_minidump.cc @@ -41,10 +41,7 @@ Section::Section(const Dump &dump) : test_assembler::Section(dump.endianness()) { } void Section::CiteLocationIn(test_assembler::Section *section) const { - if (this) - (*section).D32(size_).D32(file_offset_); - else - (*section).D32(0).D32(0); + (*section).D32(size_).D32(file_offset_); } void Stream::CiteStreamIn(test_assembler::Section *section) const { @@ -272,8 +269,14 @@ Module::Module(const Dump &dump, D32(version_info.file_subtype); D32(version_info.file_date_hi); D32(version_info.file_date_lo); - cv_record->CiteLocationIn(this); - misc_record->CiteLocationIn(this); + if (cv_record) + cv_record->CiteLocationIn(this); + else + D32(0).D32(0); + if (misc_record) + misc_record->CiteLocationIn(this); + else + D32(0).D32(0); D64(0).D64(0); } diff --git a/src/processor/synth_minidump.h b/src/processor/synth_minidump.h index 8dac8784..f1635b93 100644 --- a/src/processor/synth_minidump.h +++ b/src/processor/synth_minidump.h @@ -138,13 +138,6 @@ class Section: public test_assembler::Section { explicit Section(const Dump &dump); // Append an MDLocationDescriptor referring to this section to SECTION. - // If 'this' is NULL, append a descriptor with a zero length and MDRVA. - // - // (I couldn't find the language in the C++ standard that says that - // invoking member functions of a NULL pointer to a class type is - // bad, if such language exists. Having this function handle NULL - // 'this' is convenient, but if it causes trouble, it's not hard to - // do differently.) void CiteLocationIn(test_assembler::Section *section) const; // Note that this section's contents are complete, and that it has -- cgit v1.2.1