From 770997dd737b4993f02d86b66d73bfad6c1ee325 Mon Sep 17 00:00:00 2001 From: Ryan Kurtz Date: Wed, 1 Mar 2023 07:57:20 -0500 Subject: [PATCH] GP-3151: Fixing exception when parsing dyld_chained_fixups --- .../bin/format/macho/commands/DyldChainedStartsInImage.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/macho/commands/DyldChainedStartsInImage.java b/Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/macho/commands/DyldChainedStartsInImage.java index 675700de91..cd0d104e9b 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/macho/commands/DyldChainedStartsInImage.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/macho/commands/DyldChainedStartsInImage.java @@ -46,6 +46,11 @@ public class DyldChainedStartsInImage implements StructConverter { ArrayList starts = new ArrayList<>(); for (int off : seg_info_offset) { + // off == 0 means there is no associated starts_in_segment entry + if (off == 0) { + continue; + } + reader.setPointerIndex(ptrIndex + off); starts.add(new DyldChainedStartsInSegment(reader)); }