[trunk] Now that dataset from issue 297 have been imported, run test suite.
authorMathieu Malaterre <mathieu.malaterre@gmail.com>
Tue, 18 Mar 2014 10:21:11 +0000 (10:21 +0000)
committerMathieu Malaterre <mathieu.malaterre@gmail.com>
Tue, 18 Mar 2014 10:21:11 +0000 (10:21 +0000)
None of the dataset triggered any buffer overflow. Recent changes in trunk handle all those cases.
Update issue 297

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

index 4434bf1150043dccf7b464fcabcbd0c182e2b7ed..e03db41d425ab4369592225927ce055006be3796 100644 (file)
@@ -1983,7 +1983,7 @@ static OPJ_BOOL opj_j2k_read_siz(opj_j2k_t *p_j2k,
 
         /* testcase 1610.pdf.SIGSEGV.59c.681 */
         if (((OPJ_UINT64)l_image->x1) * ((OPJ_UINT64)l_image->y1) != (l_image->x1 * l_image->y1)) {
-                opj_event_msg(p_manager, EVT_ERROR, "Prevent buffer overflow (x1: %d, y1: %d)", l_image->x1, l_image->y1);
+                opj_event_msg(p_manager, EVT_ERROR, "Prevent buffer overflow (x1: %d, y1: %d)\n", l_image->x1, l_image->y1);
                 return OPJ_FALSE;
         }
 
@@ -3568,7 +3568,7 @@ OPJ_BOOL j2k_read_ppm_v3 (
                   l_cp->ppm_data = NULL;
                   l_cp->ppm_buffer = NULL;
                   l_cp->ppm = 0; /* do not use PPM */
-                  return OPJ_TRUE;
+                  return OPJ_FALSE;
                   }
 
                 /* First PPM marker: Initialization */
@@ -3613,7 +3613,7 @@ OPJ_BOOL j2k_read_ppm_v3 (
                                   l_cp->ppm_data = NULL;
                                   l_cp->ppm_buffer = NULL;
                                   l_cp->ppm = 0; /* do not use PPM */
-                                  return OPJ_TRUE;
+                                  return OPJ_FALSE;
                                   }
                                 /* Increase the size of ppm_data to add the new Ippm series*/
                                 assert(l_cp->ppm_data == l_cp->ppm_buffer && "We need ppm_data and ppm_buffer to be the same when reallocating");
index a46842be60b0b9e050c59774734132518f81be8c..ee5209e32f7781dc366798b18632fdd867cd2e7d 100644 (file)
@@ -26,6 +26,22 @@ set(BLACKLIST_JPEG2000_TMP
     4035.pdf.SIGSEGV.d8b.3375.jp2
     3635.pdf.asan.77.2930.jp2
     issue165.jp2
+    #edf_c2_1103421.jp2
+    edf_c2_1178956.jp2
+    edf_c2_1000290.jp2
+    #edf_c2_1000691.jp2 # ok
+    #edf_c2_20.jp2 #looks ok as per kdu_jp2info
+    edf_c2_1377017.jp2
+    edf_c2_1002767.jp2
+    #edf_c2_10025.jp2
+    edf_c2_1000234.jp2
+    edf_c2_225881.jp2
+    edf_c2_1000671.jp2
+    #edf_c2_1013627.jp2 # weird box, but kdu_jp2info ok
+    edf_c2_1015644.jp2
+    edf_c2_101463.jp2
+    edf_c2_1674177.jp2
+    edf_c2_1673169.jp2
    )
 
 # Define a list of file which should be gracefully rejected:
index 2f85681965ea99690cc3e2241d66e8949aabfa5f..5c5c509124fdedceedef705f5f990b9789619703 100644 (file)
@@ -148,6 +148,23 @@ opj_decompress -i @INPUT_NR_PATH@/issue171.jp2                  -o @TEMP_PATH@/i
 !opj_decompress -i @INPUT_NR_PATH@/broken.jpc                    -o @TEMP_PATH@/broken.jpc.pgx
 # issue 226
 opj_decompress -i @INPUT_NR_PATH@/issue226.j2k                   -o @TEMP_PATH@/issue226.j2k.pgx
+# issue 297
+!opj_decompress -i @INPUT_NR_PATH@/edf_c2_1103421.jp2  -o @TEMP_PATH@/edf_c2_1103421.jp2.pgx
+!opj_decompress -i @INPUT_NR_PATH@/edf_c2_1178956.jp2  -o @TEMP_PATH@/edf_c2_1178956.jp2.pgx
+!opj_decompress -i @INPUT_NR_PATH@/edf_c2_1000290.jp2  -o @TEMP_PATH@/edf_c2_1000290.jp2.pgx
+!opj_decompress -i @INPUT_NR_PATH@/edf_c2_1000691.jp2  -o @TEMP_PATH@/edf_c2_1000691.jp2.pgx
+!opj_decompress -i @INPUT_NR_PATH@/edf_c2_20.jp2       -o @TEMP_PATH@/edf_c2_20.jp2.pgx
+!opj_decompress -i @INPUT_NR_PATH@/edf_c2_1377017.jp2  -o @TEMP_PATH@/edf_c2_1377017.jp2.pgx
+!opj_decompress -i @INPUT_NR_PATH@/edf_c2_1002767.jp2  -o @TEMP_PATH@/edf_c2_1002767.jp2.pgx
+!opj_decompress -i @INPUT_NR_PATH@/edf_c2_10025.jp2    -o @TEMP_PATH@/edf_c2_10025.jp2.pgx
+!opj_decompress -i @INPUT_NR_PATH@/edf_c2_1000234.jp2  -o @TEMP_PATH@/edf_c2_1000234.jp2.pgx
+!opj_decompress -i @INPUT_NR_PATH@/edf_c2_225881.jp2   -o @TEMP_PATH@/edf_c2_225881.jp2.pgx
+!opj_decompress -i @INPUT_NR_PATH@/edf_c2_1000671.jp2  -o @TEMP_PATH@/edf_c2_1000671.jp2.pgx
+!opj_decompress -i @INPUT_NR_PATH@/edf_c2_1013627.jp2  -o @TEMP_PATH@/edf_c2_1013627.jp2.pgx
+!opj_decompress -i @INPUT_NR_PATH@/edf_c2_1015644.jp2  -o @TEMP_PATH@/edf_c2_1015644.jp2.pgx
+!opj_decompress -i @INPUT_NR_PATH@/edf_c2_101463.jp2   -o @TEMP_PATH@/edf_c2_101463.jp2.pgx
+!opj_decompress -i @INPUT_NR_PATH@/edf_c2_1674177.jp2  -o @TEMP_PATH@/edf_c2_1674177.jp2.pgx
+!opj_decompress -i @INPUT_NR_PATH@/edf_c2_1673169.jp2  -o @TEMP_PATH@/edf_c2_1673169.jp2.pgx
 
 # decode with specific area
 # prec=12; nb_c=1