diff options
| author | Sebastian Rasmussen <sebras@gmail.com> | 2018-10-31 15:56:11 +0100 |
|---|---|---|
| committer | Sebastian Rasmussen <sebras@gmail.com> | 2019-09-04 05:14:41 +0200 |
| commit | f3ee448815eb992b8d4746e32c05e8289f30415f (patch) | |
| tree | c57673ce38422ace3bc503a2305770ccfad4e17e /tests | |
| parent | d801bd4e6287d13b65a48775ebd43fca350b21d9 (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.txt | 4 |
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 |
