commit | 28d7cbdd426311c1b13b648a370212f130d8dff0 | [log] [tgz] |
---|---|---|
author | Sterling Augustine <saugustine@google.com> | Mon Jul 27 13:54:54 2020 -0700 |
committer | Sterling Augustine <saugustine@google.com> | Mon Jul 27 21:13:28 2020 +0000 |
tree | c53ae16a87fbabc29b3ccdf1a3925bdcc79cc35d | |
parent | 7d65240249584aed1c123e286c8468a7d824e9d0 [diff] |
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. //