check pointer overflow in t2.c
authorBo Xu <bo_xu@foxitsoftware.com>
Fri, 3 Oct 2014 19:29:54 +0000 (12:29 -0700)
committerBo Xu <bo_xu@foxitsoftware.com>
Fri, 3 Oct 2014 19:29:54 +0000 (12:29 -0700)
BUG=413375
R=tsepez@chromium.org

Review URL: https://codereview.chromium.org/624023003

core/src/fxcodec/fx_libopenjpeg/libopenjpeg20/jp2.c
core/src/fxcodec/fx_libopenjpeg/libopenjpeg20/t2.c

index dd188c1..683d041 100644 (file)
@@ -1280,7 +1280,7 @@ OPJ_BOOL opj_jp2_read_colr( opj_jp2_t *jp2,
        }
        else if (jp2->meth > 2)
     {
-        /*     ISO/IEC 15444-1:2004 (E), Table I.9 ­ Legal METH values:
+        /*     ISO/IEC 15444-1:2004 (E), Table I.9  Legal METH values:
         conforming JP2 reader shall ignore the entire Colour Specification box.*/
         opj_event_msg(p_manager, EVT_INFO, "COLR BOX meth value is not a regular value (%d), " 
             "so we will ignore the entire Colour Specification box. \n", jp2->meth);
index f2a7c9a..cdd35e8 100644 (file)
@@ -1132,7 +1132,7 @@ OPJ_BOOL opj_t2_read_packet_data(   opj_t2_t* p_t2,
 
                         do {
                                 /* Check possible overflow (on l_current_data only, assumes input args already checked) then size */
-                                if (((OPJ_SIZE_T)(l_current_data + l_seg->newlen) < (OPJ_SIZE_T)l_current_data) || (l_current_data + l_seg->newlen > p_src_data + p_max_length)) {
+                                if ((((OPJ_SIZE_T)l_current_data + (OPJ_SIZE_T)l_seg->newlen) < (OPJ_SIZE_T)l_current_data) || (l_current_data + l_seg->newlen > p_src_data + p_max_length)) {
                                         fprintf(stderr, "read: segment too long (%d) with max (%d) for codeblock %d (p=%d, b=%d, r=%d, c=%d)\n",
                                                 l_seg->newlen, p_max_length, cblkno, p_pi->precno, bandno, p_pi->resno, p_pi->compno);
                                         return OPJ_FALSE;