From 99a208110bd73cca1aeb39402add5dda087b13d6 Mon Sep 17 00:00:00 2001 From: John Reiser Date: Wed, 28 Apr 2010 20:05:23 -0700 Subject: [PATCH] Detect LC_SEGMENT beyond end-of-file in PackMachBase::find_SEGMENT_gap. --- src/p_mach.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/p_mach.cpp b/src/p_mach.cpp index e3e5903f..c8c7c83e 100644 --- a/src/p_mach.cpp +++ b/src/p_mach.cpp @@ -861,6 +861,8 @@ unsigned PackMachBase::find_SEGMENT_gap( } unsigned const hi = msegcmd[k].fileoff + msegcmd[k].filesize; unsigned lo = ph.u_file_size; + if (lo < hi) + throwCantPack("bad input: LC_SEGMENT beyond end-of-file"); unsigned j = k; for (;;) { // circular search, optimize for adjacent ascending ++j;