From 4a39ee9bbc20411c7d5de3ee1c9844e94a42be3d Mon Sep 17 00:00:00 2001 From: Mathieu Malaterre Date: Wed, 26 Feb 2014 11:06:18 +0000 Subject: [PATCH] [trunk] Import patch from sumatrapdf team. Add detection for testcase 1802.pdf.SIGSEGV.36e.894 Update issue 225 --- src/lib/openjp2/t2.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/lib/openjp2/t2.c b/src/lib/openjp2/t2.c index 0982d6b5..2271ea6b 100644 --- a/src/lib/openjp2/t2.c +++ b/src/lib/openjp2/t2.c @@ -983,6 +983,11 @@ OPJ_BOOL opj_t2_read_packet_header( opj_t2_t* p_t2, do { l_cblk->segs[l_segno].numnewpasses = opj_int_min(l_cblk->segs[l_segno].maxpasses - l_cblk->segs[l_segno].numpasses, n); l_cblk->segs[l_segno].newlen = opj_bio_read(l_bio, l_cblk->numlenbits + opj_uint_floorlog2(l_cblk->segs[l_segno].numnewpasses)); + /* testcase 1802.pdf.SIGSEGV.36e.894 */ + if (l_cblk->segs[l_segno].newlen > *l_modified_length_ptr) { + opj_bio_destroy(l_bio); + return OPJ_FALSE; + } n -= l_cblk->segs[l_segno].numnewpasses; if (n > 0) {