diff --git a/source/utility/macho_pattern_scan.cpp b/source/utility/macho_pattern_scan.cpp index b4e399c..84aa14c 100644 --- a/source/utility/macho_pattern_scan.cpp +++ b/source/utility/macho_pattern_scan.cpp @@ -194,6 +194,11 @@ namespace if (!file.read(reinterpret_cast(&segment), sizeof(segment))) [[unlikely]] return std::nullopt; + if (!segment.nsects) + { + cmd_offset += static_cast(lc.cmdsize); + continue; + } std::streamoff sect_offset = cmd_offset + static_cast(sizeof(segment)); for (std::uint32_t j = 0; j < segment.nsects; ++j)