diff options
-rw-r--r-- | src/processor/synth_minidump.cc | 15 | ||||
-rw-r--r-- | src/processor/synth_minidump.h | 7 |
2 files changed, 9 insertions, 13 deletions
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 |