]> granicus.if.org Git - openjpeg/commitdiff
[trun[trunk] check if the dx and dy steps are not incorrect according to the JPEG2000...
authorMickael Savinaud <savmickael@users.noreply.github.com>
Mon, 26 Nov 2012 16:24:29 +0000 (16:24 +0000)
committerMickael Savinaud <savmickael@users.noreply.github.com>
Mon, 26 Nov 2012 16:24:29 +0000 (16:24 +0000)
Test associated to this issue should nicely fail. Fixes issue 194

src/lib/openjp2/j2k.c
tests/nonregression/test_suite.ctest.in

index 0c0fb1020f7161f1fc4554cc1a10989669b54414..3b439fc725245fa2048cf576a5f2e6de9348ae05 100644 (file)
@@ -1998,6 +1998,13 @@ static OPJ_BOOL opj_j2k_read_siz(opj_j2k_t *p_j2k,
                 opj_read_bytes(p_header_data,&tmp,1);   /* YRsiz_i */
                 ++p_header_data;
                 l_img_comp->dy = (OPJ_INT32)tmp; /* should be between 1 and 255 */
+                if( l_img_comp->dx < 1 || l_img_comp->dx > 255 ||
+                    l_img_comp->dy < 1 || l_img_comp->dy > 255 ) {
+                    opj_event_msg(p_manager, EVT_ERROR,
+                                  "Invalid values for comp = %d : dx=%u dy=%u\n (should be between 1 and 255 according the JPEG2000 norm)",
+                                  i, l_img_comp->dx, l_img_comp->dy);
+                    return OPJ_FALSE;
+                }
 
 #ifdef USE_JPWL
                 if (l_cp->correct) {
index 2396a474a94e97cf25fa0ecc8816c327175de1fc..3fc52fe80b71a6033a151924f23e4a8b0060e02a 100644 (file)
@@ -80,8 +80,8 @@ opj_decompress -i  @INPUT_NR_PATH@/mem-b2b86b74-2753.jp2 -o @TEMP_PATH@/mem-b2b8
 ! opj_decompress -i  @INPUT_NR_PATH@/gdal_fuzzer_assert_in_opj_j2k_read_SQcd_SQcc.patch.jp2 -o @TEMP_PATH@/gdal_fuzzer_assert_in_opj_j2k_read_SQcd_SQcc.patch.pgx
 # issue 193 raised by the gdal fuzzer test (should nicely failed)
 !opj_decompress -i  @INPUT_NR_PATH@/gdal_fuzzer_check_number_of_tiles.jp2 -o @TEMP_PATH@/gdal_fuzzer_check_number_of_tiles.pgx
-# issue 194 raised by the gdal fuzzer test (should properly failed)
-opj_decompress -i  @INPUT_NR_PATH@/gdal_fuzzer_check_comp_dx_dy.jp2 -o @TEMP_PATH@/gdal_fuzzer_check_comp_dx_dy.pgx
+# issue 194 raised by the gdal fuzzer test (should nicely failed)
+opj_decompress -i  @INPUT_NR_PATH@/gdal_fuzzer_check_comp_dx_dy.jp2 -o @TEMP_PATH@/gdal_fuzzer_check_comp_dx_dy.pgx
 
 # decode with specific area
 # prec=12; nb_c=1