llvm-project/llvm/lib/DebugInfo/DWARF
James Henderson bf4d8f2952 [DebugInfo] Add checks for v2 directory and file name table terminators
The DWARFv2-4 specification for the line table header states that the
include directories and file name tables both end with a single null
byte. Prior to this change, the parser did not detect if this byte was
missing, because it also stopped reading the tables once it reached the
prologue end, as claimed by the header_length field. This change adds a
check that the terminator has been seen at the end of each table.

Reviewed by: dblaikie, MaskRay

Differential Revision: https://reviews.llvm.org/D74413
2020-02-12 14:49:22 +00:00
..
CMakeLists.txt Temporarily Revert "[Dsymutil][Debuginfo][NFC] Refactor dsymutil to separate DWARF optimizing part 2." 2019-12-19 13:29:02 -08:00
DWARFAbbreviationDeclaration.cpp Switch LLVM to use 64-bit offsets (2/5) 2019-08-06 10:49:40 +00:00
DWARFAcceleratorTable.cpp Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
DWARFAddressRange.cpp Re-commit "DWARF location lists: Add section index dumping" 2019-11-18 15:30:10 +01:00
DWARFCompileUnit.cpp [DWARF] Adjust return type of DWARFUnit::getLength(). 2019-08-21 14:10:57 +00:00
DWARFContext.cpp [DebugInfo] Simplify DWARFDebugAddr. 2020-02-12 13:33:00 +07:00
DWARFDataExtractor.cpp Add error handling to the DataExtractor class 2019-08-27 11:24:08 +00:00
DWARFDebugAbbrev.cpp Switch LLVM to use 64-bit offsets (2/5) 2019-08-06 10:49:40 +00:00
DWARFDebugAddr.cpp [DebugInfo] Add support for DWARF64 into DWARFDebugAddr. 2020-02-12 13:33:01 +07:00
DWARFDebugArangeSet.cpp Fix build bot failures. 2020-01-23 13:14:21 +07:00
DWARFDebugAranges.cpp [DWARF] Return Error from DWARFDebugArangeSet::extract(). 2020-01-23 12:41:05 +07:00
DWARFDebugFrame.cpp [DWARF] Do not pass Version to DWARFExpression. NFCI. 2020-01-27 19:08:46 +07:00
DWARFDebugInfoEntry.cpp Switch LLVM to use 64-bit offsets (2/5) 2019-08-06 10:49:40 +00:00
DWARFDebugLine.cpp [DebugInfo] Add checks for v2 directory and file name table terminators 2020-02-12 14:49:22 +00:00
DWARFDebugLoc.cpp [DebugInfo] Add a DWARFDataExtractor constructor that takes ArrayRef<uint8_t> 2020-02-09 17:45:32 -08:00
DWARFDebugMacro.cpp DebugInfo: Use separate macinfo contributions for each CU 2019-11-08 13:27:00 -08:00
DWARFDebugPubTable.cpp [DWARF] Support 64-bit DWARF in .debug_pubnames and similar tables. 2020-01-23 14:51:00 +07:00
DWARFDebugRangeList.cpp Switch LLVM to use 64-bit offsets (2/5) 2019-08-06 10:49:40 +00:00
DWARFDebugRnglists.cpp [DWARFDebugRnglists] Add a callback-based version of the getAbsoluteRanges function 2019-12-04 10:35:57 +01:00
DWARFDie.cpp [DWARF] Do not pass Version to DWARFExpression. NFCI. 2020-01-27 19:08:46 +07:00
DWARFExpression.cpp Add dwarfdump support for DW_OP_regval_type. 2020-01-29 10:02:23 -08:00
DWARFFormValue.cpp DebugInfo: Don't use implicit zero addr_base 2019-12-18 16:28:19 -08:00
DWARFGdbIndex.cpp Switch LLVM to use 64-bit offsets (2/5) 2019-08-06 10:49:40 +00:00
DWARFListTable.cpp [DWARF] Support DWARF64 in DWARFListTableHeader. 2019-09-05 06:49:05 +00:00
DWARFLocationExpression.cpp Add streaming/equality operators to DWARFAddressRange/DWARFLocationExpression 2019-11-19 10:34:30 +01:00
DWARFTypeUnit.cpp [DWARF] Adjust return type of DWARFUnit::getLength(). 2019-08-21 14:10:57 +00:00
DWARFUnit.cpp Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
DWARFUnitIndex.cpp [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
DWARFVerifier.cpp Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
LLVMBuild.txt Temporarily Revert "[Dsymutil][Debuginfo][NFC] Refactor dsymutil to separate DWARF optimizing part 2." 2019-12-19 13:29:02 -08:00