diff --git a/abi-check/abi_dump/openjpeg/current/ef225/ABI.dump b/abi-check/abi_dump/openjpeg/current/ef225/ABI.dump
index 8d31289f..ef3cb2ce 100644
--- a/abi-check/abi_dump/openjpeg/current/ef225/ABI.dump
+++ b/abi-check/abi_dump/openjpeg/current/ef225/ABI.dump
@@ -207,7 +207,7 @@ $VAR1 = {
'Source' => 'cio.c',
'SourceLine' => '271'
},
- '173846' => {
+ '173930' => {
'Header' => 'openjpeg.h',
'Line' => '1096',
'Return' => '156',
@@ -215,13 +215,13 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '160'
},
- '174166' => {
+ '174250' => {
'Header' => 'openjpeg.h',
'Line' => '1648',
'Param' => {
'0' => {
'name' => 'cstr_info',
- 'type' => '174184'
+ 'type' => '174268'
}
},
'Reg' => {
@@ -232,12 +232,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '997'
},
- '236722' => {
+ '236806' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '236808'
+ 'type' => '236892'
},
'1' => {
'name' => 'p_callback',
@@ -258,12 +258,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '44'
},
- '236820' => {
+ '236904' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '236808'
+ 'type' => '236892'
},
'1' => {
'name' => 'p_callback',
@@ -284,12 +284,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '59'
},
- '236906' => {
+ '236990' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '236808'
+ 'type' => '236892'
},
'1' => {
'name' => 'p_callback',
@@ -310,23 +310,23 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '74'
},
- '237021' => {
+ '237105' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_format',
- 'type' => '225728'
+ 'type' => '225812'
}
},
'Reg' => {
'0' => 'rdi'
},
- 'Return' => '236808',
+ 'Return' => '236892',
'ShortName' => 'opj_create_decompress',
'Source' => 'openjpeg.c',
'SourceLine' => '168'
},
- '237243' => {
+ '237327' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
@@ -342,12 +342,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '364'
},
- '237374' => {
+ '237458' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '236808'
+ 'type' => '236892'
},
'1' => {
'name' => 'num_threads',
@@ -363,12 +363,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '387'
},
- '237492' => {
+ '237576' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '236808'
+ 'type' => '236892'
},
'1' => {
'name' => 'parameters',
@@ -384,7 +384,7 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '398'
},
- '237634' => {
+ '237718' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
@@ -393,7 +393,7 @@ $VAR1 = {
},
'1' => {
'name' => 'p_codec',
- 'type' => '236808'
+ 'type' => '236892'
},
'2' => {
'name' => 'p_image',
@@ -410,12 +410,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '418'
},
- '237837' => {
+ '237921' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '236808'
+ 'type' => '236892'
},
'1' => {
'name' => 'numcomps',
@@ -441,12 +441,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '442'
},
- '238079' => {
+ '238163' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '236808'
+ 'type' => '236892'
},
'1' => {
'name' => 'p_stream',
@@ -467,12 +467,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '471'
},
- '238233' => {
+ '238317' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '236808'
+ 'type' => '236892'
},
'1' => {
'name' => 'p_image',
@@ -508,12 +508,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '492'
},
- '238441' => {
+ '238525' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '236808'
+ 'type' => '236892'
},
'1' => {
'name' => 'p_stream',
@@ -569,12 +569,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '515'
},
- '238647' => {
+ '238731' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '236808'
+ 'type' => '236892'
},
'1' => {
'name' => 'p_tile_index',
@@ -605,12 +605,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '546'
},
- '238847' => {
+ '238931' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '236808'
+ 'type' => '236892'
},
'1' => {
'name' => 'p_stream',
@@ -636,12 +636,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '572'
},
- '239024' => {
+ '239108' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '236808'
+ 'type' => '236892'
},
'1' => {
'name' => 'res_factor',
@@ -657,23 +657,23 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '596'
},
- '239133' => {
+ '239217' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_format',
- 'type' => '225728'
+ 'type' => '225812'
}
},
'Reg' => {
'0' => 'rdi'
},
- 'Return' => '236808',
+ 'Return' => '236892',
'ShortName' => 'opj_create_compress',
'Source' => 'openjpeg.c',
'SourceLine' => '614'
},
- '239358' => {
+ '239442' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
@@ -689,12 +689,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '722'
},
- '239489' => {
+ '239573' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '236808'
+ 'type' => '236892'
},
'1' => {
'name' => 'parameters',
@@ -715,12 +715,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '783'
},
- '239627' => {
+ '239711' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '236808'
+ 'type' => '236892'
},
'1' => {
'name' => 'options',
@@ -736,12 +736,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '803'
},
- '239742' => {
+ '239826' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '236808'
+ 'type' => '236892'
},
'1' => {
'name' => 'p_image',
@@ -762,12 +762,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '822'
},
- '239896' => {
+ '239980' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_info',
- 'type' => '236808'
+ 'type' => '236892'
},
'1' => {
'name' => 'p_stream',
@@ -783,12 +783,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '841'
},
- '240027' => {
+ '240111' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '236808'
+ 'type' => '236892'
},
'1' => {
'name' => 'p_stream',
@@ -804,12 +804,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '858'
},
- '240158' => {
+ '240242' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '236808'
+ 'type' => '236892'
},
'1' => {
'name' => 'p_stream',
@@ -825,7 +825,7 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '875'
},
- '240289' => {
+ '240373' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
@@ -856,12 +856,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '895'
},
- '240635' => {
+ '240719' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '236808'
+ 'type' => '236892'
},
'1' => {
'name' => 'p_tile_index',
@@ -892,12 +892,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '925'
},
- '240835' => {
+ '240919' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '236808'
+ 'type' => '236892'
}
},
'Reg' => {
@@ -908,12 +908,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '952'
},
- '240936' => {
+ '241020' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '236808'
+ 'type' => '236892'
},
'1' => {
'name' => 'info_flag',
@@ -934,12 +934,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '970'
},
- '241073' => {
+ '241157' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '236808'
+ 'type' => '236892'
}
},
'Reg' => {
@@ -950,12 +950,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '986'
},
- '241237' => {
+ '241321' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '236808'
+ 'type' => '236892'
}
},
'Reg' => {
@@ -966,12 +966,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '1014'
},
- '241322' => {
+ '241406' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_cstr_index',
- 'type' => '241382'
+ 'type' => '241466'
}
},
'Reg' => {
@@ -982,7 +982,7 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '1025'
},
- '241388' => {
+ '241472' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
@@ -1008,7 +1008,7 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '1040'
},
- '241507' => {
+ '241591' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
@@ -1440,7 +1440,7 @@ $VAR1 = {
'Size' => '1',
'Type' => 'Const'
},
- '174184' => {
+ '174268' => {
'BaseType' => '76994',
'Name' => 'opj_codestream_info_v2_t**',
'Size' => '8',
@@ -2098,7 +2098,7 @@ $VAR1 = {
'Size' => '216',
'Type' => 'Struct'
},
- '225678' => {
+ '225762' => {
'Header' => 'openjpeg.h',
'Line' => '322',
'Memb' => {
@@ -2131,15 +2131,15 @@ $VAR1 = {
'Size' => '4',
'Type' => 'Enum'
},
- '225728' => {
- 'BaseType' => '225678',
+ '225812' => {
+ 'BaseType' => '225762',
'Header' => 'openjpeg.h',
'Line' => '329',
'Name' => 'OPJ_CODEC_FORMAT',
'Size' => '4',
'Type' => 'Typedef'
},
- '227485' => {
+ '227569' => {
'BaseType' => '130',
'Header' => 'openjpeg.h',
'Line' => '612',
@@ -2159,13 +2159,13 @@ $VAR1 = {
'Size' => '4',
'Type' => 'Const'
},
- '236808' => {
- 'BaseType' => '227485',
+ '236892' => {
+ 'BaseType' => '227569',
'Name' => 'opj_codec_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '241382' => {
+ '241466' => {
'BaseType' => '74696',
'Name' => 'opj_codestream_index_t**',
'Size' => '8',
diff --git a/abi-check/changelog/openjpeg/current/log.html b/abi-check/changelog/openjpeg/current/log.html
index f9721089..2e071443 100644
--- a/abi-check/changelog/openjpeg/current/log.html
+++ b/abi-check/changelog/openjpeg/current/log.html
@@ -20,7 +20,16 @@
commit 1d358f25c8eabbc7c274bcc148f4f5d594ec13fe +commit 19ef7f26c43f689b627aad642da7f6150893b863 +Merge: 1d358f2 f3ee448 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-05-20 21:10:55 +0200 + + Merge pull request #1211 from sebras/master + + Add check to validate SGcod/SPcoc/SPcod parameter values. + +commit 1d358f25c8eabbc7c274bcc148f4f5d594ec13fe Merge: 64689d0 4edb8c8 Author: Even Rouault <even.rouault@spatialys.com> Date: 2020-05-20 20:29:31 +0200 @@ -293,6 +302,42 @@ Date: 2019-10-03 11:04:30 +0200 opj_tcd_mct_decode()/opj_mct_decode()/opj_mct_encode_real()/opj_mct_decode_real(): proper deal with a number of samples larger than 4 billion (refs #1151) +commit f3ee448815eb992b8d4746e32c05e8289f30415f +Author: Sebastian Rasmussen <sebras@gmail.com> +Date: 2018-10-31 15:56:11 +0100 + + 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. + +commit d801bd4e6287d13b65a48775ebd43fca350b21d9 +Author: Sebastian Rasmussen <sebras@gmail.com> +Date: 2019-09-04 01:18:37 +0200 + + openjp2/j2k: Make comments adhere to specification. + + The function is used to read both SPcod and SPcoc, so all + comments should refer to both marker segments' parameter names. + commit e66125fe260deee49fdf6e9978d9bd29871dd5bb Merge: 8db9d25 b275196 Author: Even Rouault <even.rouault@spatialys.com> @@ -919,29 +964,6 @@ Date: 2018-08-31 12:57:40 +0200 always correct regardless of the number of sub- directories in OPENJPEG_INSTALL_PACKAGE_DIR variable. -commit 0fa7ebe2540990f590c2247b3505ac1dc84b6eec -Author: Robert Everson <robert@reverson.net> -Date: 2018-08-27 15:28:53 -0700 - - Cast on uint ceildiv - -commit 9d1a9dc20dd5155bab977a4f53d05c4bbd66533a -Merge: d2205ba 56f23b2 -Author: Even Rouault <even.rouault@mines-paris.org> -Date: 2018-08-11 23:35:35 +0200 - - Merge pull request #1133 from robe2/robe2-pkgconfig-instructions - - Add -DBUILD_PKGCONFIG_FILES to install instructions - -commit 56f23b29a075467fc2377ba086c0263a3eb70fe6 -Author: Regina Obe <lr@pcorp.us> -Date: 2018-08-11 16:59:30 -0400 - - Add -DBUILD_PKGCONFIG_FILES to install instructions - - Building under msys/mingw doesn't automatically install the pkg config files needed to build GDAL and other libraries - ...