This revision was automatically updated to reflect the committed changes.
Closed by commit rG9defb3b4b4a3: [lldb] Prevent underflow in crashlog.py
(authored by JDevlieghere).
Herald added a project: LLDB.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D125716/new/
https://reviews.llvm.org/D125716
Files:
lldb/examples/python/crashlog.py
Index: lldb/examples/python/crashlog.py
===================================================================
--- lldb/examples/python/crashlog.py
+++ lldb/examples/python/crashlog.py
@@ -114,14 +114,12 @@
for frame_idx, frame in enumerate(self.frames):
disassemble = (
this_thread_crashed or options.disassemble_all_threads)
and frame_idx < options.disassemble_depth
- if frame_idx == 0:
- symbolicated_frame_addresses = crash_log.symbolicate(
- frame.pc & crash_log.addr_mask, options.verbose)
- else:
- # Any frame above frame zero and we have to subtract one to
- # get the previous line entry
- symbolicated_frame_addresses = crash_log.symbolicate(
- (frame.pc & crash_log.addr_mask) - 1, options.verbose)
+
+ # Any frame above frame zero and we have to subtract one to
+ # get the previous line entry.
+ pc = frame.pc & crash_log.addr_mask
+ pc = pc if frame_idx == 0 or pc == 0 else pc - 1
+ symbolicated_frame_addresses = crash_log.symbolicate(pc,
options.verbose)
if symbolicated_frame_addresses:
symbolicated_frame_address_idx = 0
Index: lldb/examples/python/crashlog.py
===================================================================
--- lldb/examples/python/crashlog.py
+++ lldb/examples/python/crashlog.py
@@ -114,14 +114,12 @@
for frame_idx, frame in enumerate(self.frames):
disassemble = (
this_thread_crashed or options.disassemble_all_threads) and frame_idx < options.disassemble_depth
- if frame_idx == 0:
- symbolicated_frame_addresses = crash_log.symbolicate(
- frame.pc & crash_log.addr_mask, options.verbose)
- else:
- # Any frame above frame zero and we have to subtract one to
- # get the previous line entry
- symbolicated_frame_addresses = crash_log.symbolicate(
- (frame.pc & crash_log.addr_mask) - 1, options.verbose)
+
+ # Any frame above frame zero and we have to subtract one to
+ # get the previous line entry.
+ pc = frame.pc & crash_log.addr_mask
+ pc = pc if frame_idx == 0 or pc == 0 else pc - 1
+ symbolicated_frame_addresses = crash_log.symbolicate(pc, options.verbose)
if symbolicated_frame_addresses:
symbolicated_frame_address_idx = 0
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits