Check for tombstone as very first entry in the line table. This is a folow up to https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2317730 and handles the additional case where there are no entries in the line table at all. Change-Id: I100c5d0891e7dc7088d58da11240d7df3a6c48d9 Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2321300 Reviewed-by: Mark Mentovai <mark@chromium.org>
diff --git a/src/common/dwarf_cu_to_module.cc b/src/common/dwarf_cu_to_module.cc index c4eb3c5..a5bc7d6 100644 --- a/src/common/dwarf_cu_to_module.cc +++ b/src/common/dwarf_cu_to_module.cc
@@ -1089,6 +1089,11 @@ return; } + // Some dwarf producers handle linker-removed functions by using -1 as a + // tombstone in the line table. So the end marker can be -1. + if (current == Module::kMaxAddress) + return; + while (range || line) { // This loop has two invariants that hold at the top. //