From 391f5caaa2ecbdfbd4cd2e0c1c2fd1f4c035b85a Mon Sep 17 00:00:00 2001 From: "Markus F.X.J. Oberhumer" Date: Fri, 23 Jun 2006 05:27:42 +0200 Subject: [PATCH] Added precondition assertions to upx_decompress(). --- src/compress.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/compress.cpp b/src/compress.cpp index a5ce6666..ee5e0d51 100644 --- a/src/compress.cpp +++ b/src/compress.cpp @@ -149,6 +149,9 @@ int upx_decompress ( const upx_bytep src, upx_uint src_len, { int r = UPX_E_ERROR; + assert(*dst_len > 0); + assert(src_len < *dst_len); // must be compressed + if (result && result->method == 0) result = NULL; @@ -188,6 +191,7 @@ int upx_test_overlap ( const upx_bytep buf, upx_uint src_off, if (result && result->method == 0) result = NULL; + assert(*dst_len > 0); assert(src_len < *dst_len); // must be compressed unsigned overlap_overhead = src_off + src_len - *dst_len; assert((int)overlap_overhead > 0);