diff --git a/src/p_mach.cpp b/src/p_mach.cpp index ce297ca5..f9a3829a 100644 --- a/src/p_mach.cpp +++ b/src/p_mach.cpp @@ -1563,7 +1563,7 @@ void PackMachBase::unpack(OutputFile *fo) memcpy(&msegcmd[j], ptr, umin(sizeof(Mach_segment_command), ((Mach_command const *)ptr)->cmdsize)); ptr += (unsigned) ((Mach_command const *)ptr)->cmdsize; - if (ptr_udiff(ptr, mhdr) > ph.u_len) { + if (ptr_udiff(ptr, (1+ mhdr)) > ph.u_len) { throwCantUnpack("cmdsize"); } }