summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorSebastian Rasmussen <sebras@gmail.com>2018-10-31 15:56:11 +0100
committerSebastian Rasmussen <sebras@gmail.com>2019-09-04 05:14:41 +0200
commitf3ee448815eb992b8d4746e32c05e8289f30415f (patch)
treec57673ce38422ace3bc503a2305770ccfad4e17e /tests
parentd801bd4e6287d13b65a48775ebd43fca350b21d9 (diff)
openjp2/j2k: Validate all SGcod/SPcod/SPcoc parameter values.
Previously the multiple component transformation SGcod(C) and wavelet transformation SPcod(H)/SPcoc(E) parameter values were never checked, allowing for out of range values. The lack of validation allowed the bit stream provided in issue #1158 through. After this commit an error message points to the marker segments' parameters as being out of range. input/nonregression/edf_c2_20.jp2 contains an SPcod(H) value of 17, but according to Table A-20 of the specification only values 0 and 1 are valid. input/nonregression/issue826.jp2 contains a SGcod(B) value of 2, but according to Table A-17 of the specification only values 0 and 1 are valid. input/nonregression/oss-fuzz2785.jp2 contains a SGcod(B) value of 32, but it is likewise limited to 0 or 1. These test cases have been updated to consistently fail to parse the headers since they contain out of bounds values. This fixes issue #1210.
Diffstat (limited to 'tests')
-rw-r--r--tests/nonregression/CMakeLists.txt4
1 files changed, 3 insertions, 1 deletions
diff --git a/tests/nonregression/CMakeLists.txt b/tests/nonregression/CMakeLists.txt
index 82eff3c3..9561fd65 100644
--- a/tests/nonregression/CMakeLists.txt
+++ b/tests/nonregression/CMakeLists.txt
@@ -34,7 +34,6 @@ set(BLACKLIST_JPEG2000_TMP
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
@@ -61,6 +60,7 @@ set(BLACKLIST_JPEG2000
broken2.jp2
broken3.jp2
broken4.jp2
+ edf_c2_20.jp2 #may look ok as per kdu_jp2info, but inspection it reveals that the transformation value is out of range
gdal_fuzzer_assert_in_opj_j2k_read_SQcd_SQcc.patch.jp2
gdal_fuzzer_check_comp_dx_dy.jp2
gdal_fuzzer_check_number_of_tiles.jp2
@@ -82,6 +82,8 @@ set(BLACKLIST_JPEG2000
issue475.jp2 #kdu_jp2info ok
issue413.jp2 #kdu_jp2info ok
issue823.jp2 #kdu_jp2info ok
+ issue826.jp2 #inspection reveales that the transformation value is out of range
+ oss-fuzz2785.jp2 #inspection reveales that the transformation value is out of range
)
file(GLOB_RECURSE OPJ_DATA_NR_LIST