diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/common/dwarf/dwarf2reader.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/common/dwarf/dwarf2reader.cc b/src/common/dwarf/dwarf2reader.cc index 2c15ece6..63d1ffb7 100644 --- a/src/common/dwarf/dwarf2reader.cc +++ b/src/common/dwarf/dwarf2reader.cc @@ -504,8 +504,12 @@ void CompilationUnit::ProcessDIEs() { dieptr += len; - // Abbrev == 0 represents the end of a list of children. + // Abbrev == 0 represents the end of a list of children, or padding + // at the end of the compilation unit. if (abbrev_num == 0) { + if (die_stack.size() == 0) + // If it is padding, then we are done with the compilation unit's DIEs. + return; const uint64 offset = die_stack.top(); die_stack.pop(); handler_->EndDIE(offset); |