openjpeg.git
3 years agoAdd some more errno to debug 'failed to start J2K encoding' carl-2-rebased-on-master
Carl Hetherington [Tue, 15 Jan 2019 16:56:31 +0000 (16:56 +0000)]
Add some more errno to debug 'failed to start J2K encoding'

3 years agoFix deprecated cscript bits.
Carl Hetherington [Sat, 17 Feb 2018 22:54:48 +0000 (22:54 +0000)]
Fix deprecated cscript bits.

3 years agoRevert "Packet header writing: set empty packet header bit to 0 when appropriate...
Carl Hetherington [Mon, 1 Jan 2018 23:57:07 +0000 (23:57 +0000)]
Revert "Packet header writing: set empty packet header bit to 0 when appropriate (small optimization)"

This reverts commit 2609fb8077125b5b31f1bcc2f98c12ff1e6572d7.

I am testing this reversion to see if it fixes problems with DCP
playback on various systems (DCP-o-matic bug #1136).

3 years agoFix from Aaron to match v1's threshold value.
Carl Hetherington [Sat, 2 Sep 2017 18:18:23 +0000 (19:18 +0100)]
Fix from Aaron to match v1's threshold value.

3 years agouse tolerance to bail out early from rate control : much faster
Aaron Boxer [Fri, 1 Sep 2017 23:33:40 +0000 (19:33 -0400)]
use tolerance to bail out early from rate control : much faster

3 years agoAdd some error codes to debug failure in opj_j2k_start_compress.
Carl Hetherington [Fri, 1 Sep 2017 23:23:25 +0000 (19:23 -0400)]
Add some error codes to debug failure in opj_j2k_start_compress.

3 years agoCompile with -fPIC so we can build shared libdcp with static openjp2.
Carl Hetherington [Fri, 1 Sep 2017 23:22:41 +0000 (19:22 -0400)]
Compile with -fPIC so we can build shared libdcp with static openjp2.

3 years agoAdd cscript
Carl Hetherington [Fri, 1 Sep 2017 23:20:14 +0000 (19:20 -0400)]
Add cscript

3 years agoMerge pull request #1211 from sebras/master
Even Rouault [Wed, 20 May 2020 19:10:55 +0000 (21:10 +0200)]
Merge pull request #1211 from sebras/master

Add check to validate SGcod/SPcoc/SPcod parameter values.

3 years agoMerge pull request #1246 from rouault/write_plt
Even Rouault [Wed, 20 May 2020 18:29:31 +0000 (20:29 +0200)]
Merge pull request #1246 from rouault/write_plt

Add support for generation of PLT markers in encoder

4 years agoAdd support for generation of PLT markers in encoder 1246/head
Even Rouault [Tue, 21 Apr 2020 13:55:44 +0000 (15:55 +0200)]
Add support for generation of PLT markers in encoder

* -PLT switch added to opj_compress
* Add a opj_encoder_set_extra_options() function that
  accepts a PLT=YES option, and could be expanded later
  for other uses.

-------

Testing with a Sentinel2 10m band, T36JTT_20160914T074612_B02.jp2,
coming from S2A_MSIL1C_20160914T074612_N0204_R135_T36JTT_20160914T081456.SAFE

Decompress it to TIFF:
```
opj_uncompress -i T36JTT_20160914T074612_B02.jp2 -o T36JTT_20160914T074612_B02.tif
```

Recompress it with similar parameters as original:
```
opj_compress -n 5 -c [256,256],[256,256],[256,256],[256,256],[256,256] -t 1024,1024 -PLT -i T36JTT_20160914T074612_B02.tif -o T36JTT_20160914T074612_B02_PLT.jp2
```

Dump codestream detail with GDAL dump_jp2.py utility (https://github.com/OSGeo/gdal/blob/master/gdal/swig/python/samples/dump_jp2.py)
```
python dump_jp2.py T36JTT_20160914T074612_B02.jp2 > /tmp/dump_sentinel2_ori.txt
python dump_jp2.py T36JTT_20160914T074612_B02_PLT.jp2 > /tmp/dump_sentinel2_openjpeg_plt.txt
```

The diff between both show very similar structure, and identical number of packets in PLT markers

Now testing with Kakadu (KDU803_Demo_Apps_for_Linux-x86-64_200210)

Full file decompression:
```
kdu_expand -i T36JTT_20160914T074612_B02_PLT.jp2 -o tmp.tif

Consumed 121 tile-part(s) from a total of 121 tile(s).
Consumed 80,318,806 codestream bytes (excluding any file format) = 5.329697
bits/pel.
Processed using the multi-threaded environment, with
    8 parallel threads of execution
```

Partial decompresson (presumably using PLT markers):
```
kdu_expand -i T36JTT_20160914T074612_B02.jp2 -o tmp.pgm -region "{0.5,0.5},{0.01,0.01}"
kdu_expand -i T36JTT_20160914T074612_B02_PLT.jp2 -o tmp2.pgm  -region "{0.5,0.5},{0.01,0.01}"
diff tmp.pgm tmp2.pgm && echo "same !"
```

-------

Funded by ESA for S2-MPC project

4 years agostruct opj_j2k: remove unused fields, and add some documentation
Even Rouault [Sat, 18 Apr 2020 16:25:44 +0000 (18:25 +0200)]
struct opj_j2k: remove unused fields, and add some documentation

4 years agoMerge pull request #1244 from rouault/fix_pi_warnings
Even Rouault [Thu, 16 Apr 2020 22:39:46 +0000 (00:39 +0200)]
Merge pull request #1244 from rouault/fix_pi_warnings

Fix warnings about signed/unsigned casts in pi.c

4 years agocolor_apply_icc_profile: add checks on the number of components (#1236)
szukw000 [Thu, 16 Apr 2020 22:37:33 +0000 (00:37 +0200)]
color_apply_icc_profile: add checks on the number of components (#1236)

4 years agojp3d/jpwl/mj2/jpip: Fix resource leaks (#1226)
Eduardo Barretto [Thu, 16 Apr 2020 22:09:40 +0000 (19:09 -0300)]
jp3d/jpwl/mj2/jpip: Fix resource leaks (#1226)

This issues were found by cppcheck and coverity.

4 years agoFix warnings about signed/unsigned casts in pi.c 1244/head
Even Rouault [Thu, 16 Apr 2020 18:52:44 +0000 (20:52 +0200)]
Fix warnings about signed/unsigned casts in pi.c

4 years agoRename mis-named function opj_tcd_get_encoded_tile_size() to opj_tcd_get_encoder_inpu...
Even Rouault [Thu, 16 Apr 2020 18:33:22 +0000 (20:33 +0200)]
Rename mis-named function opj_tcd_get_encoded_tile_size() to opj_tcd_get_encoder_input_buffer_size()

4 years agoMerge pull request #1240 from rouault/fix_crash_opj_decompress
Even Rouault [Wed, 1 Apr 2020 20:00:19 +0000 (22:00 +0200)]
Merge pull request #1240 from rouault/fix_crash_opj_decompress

opj_decompress: add sanity checks to avoid segfault in case of decoding error

4 years agoopj_decompress: add sanity checks to avoid segfault in case of decoding error 1240/head
Even Rouault [Wed, 1 Apr 2020 18:58:55 +0000 (20:58 +0200)]
opj_decompress: add sanity checks to avoid segfault in case of decoding error

Prevent crashes like:
opj_decompress -i 0722_5-1_2019.jp2 -o out.ppm -r 4 -t 0

where 0722_5-1_2019.jp2 is
https://drive.google.com/file/d/1ZxOUZg2-FKjYwa257VFLMpTXRWxEoP0a/view?usp=sharing

4 years agoopj_compress: improve help message regarding new IMF switch
Even Rouault [Thu, 13 Feb 2020 08:59:17 +0000 (09:59 +0100)]
opj_compress: improve help message regarding new IMF switch

4 years agoMerge pull request #1235 from rouault/imf
Even Rouault [Thu, 13 Feb 2020 08:54:20 +0000 (09:54 +0100)]
Merge pull request #1235 from rouault/imf

Implement writing of IMF profiles

4 years agoImplement writing of IMF profiles 1235/head
Even Rouault [Wed, 12 Feb 2020 14:55:16 +0000 (15:55 +0100)]
Implement writing of IMF profiles

Add -IMF switch to opj_compress as well

4 years agoopenjpeg.h: fix values of OPJ_PROFILE_IMF_ constants
Even Rouault [Wed, 12 Feb 2020 14:55:02 +0000 (15:55 +0100)]
openjpeg.h: fix values of OPJ_PROFILE_IMF_ constants

4 years agoMerge pull request #1234 from rouault/md5_libtiff_4_1
Even Rouault [Mon, 10 Feb 2020 10:20:20 +0000 (11:20 +0100)]
Merge pull request #1234 from rouault/md5_libtiff_4_1

tests: add alternate checksums for libtiff 4.1

4 years agotests: add alternate checksums for libtiff 4.1 1234/head
Even Rouault [Fri, 7 Feb 2020 20:53:10 +0000 (21:53 +0100)]
tests: add alternate checksums for libtiff 4.1

Fixes #1233

libtiff 4.1 slightly modifies the way it generates files. So
add the new expected md5sum.

Not super elegant solution admitedly.

4 years agoMerge pull request #1232 from rouault/fix_1231
Even Rouault [Thu, 30 Jan 2020 12:07:31 +0000 (13:07 +0100)]
Merge pull request #1232 from rouault/fix_1231

opj_tcd_init_tile(): avoid integer overflow

4 years agoopj_tcd_init_tile(): avoid integer overflow 1232/head
Even Rouault [Wed, 29 Jan 2020 23:59:57 +0000 (00:59 +0100)]
opj_tcd_init_tile(): avoid integer overflow

That could lead to later assertion failures.

Fixes #1231 / CVE-2020-8112

4 years agotests/fuzzers: link fuzz binaries using $LIB_FUZZING_ENGINE. (#1230)
Max Moroz [Mon, 13 Jan 2020 17:07:54 +0000 (09:07 -0800)]
tests/fuzzers: link fuzz binaries using $LIB_FUZZING_ENGINE. (#1230)

This was changed some time ago (https://google.github.io/oss-fuzz/getting-started/new-project-guide/) but the build didn't fail as there is a fallback mechanism. The main advantage of the new approach is that for libFuzzer this produces more performant binaries (as `$LIB_FUZZING_ENGINE` expands into `-fsanitize=fuzzer`, which links libFuzzer from the compiler-rt, allowing better optimization tricks).

I'm also experimenting with dataflow (https://github.com/google/oss-fuzz/issues/1632) on your project, and the dataflow config doesn't have a fallback (as it's a new configuration), therefore I'm proposing a change to migrate from `-lFuzzingEngine` to `$LIB_FUZZING_ENGINE`.

4 years agoMerge pull request #1229 from rouault/fix_1228
Even Rouault [Sat, 11 Jan 2020 10:29:11 +0000 (11:29 +0100)]
Merge pull request #1229 from rouault/fix_1228

opj_j2k_update_image_dimensions(): reject images whose coordinates are beyond INT_MAX (fixes #1228)

4 years agoopj_j2k_update_image_dimensions(): reject images whose coordinates are beyond INT_MAX... 1229/head
Even Rouault [Sat, 11 Jan 2020 00:51:19 +0000 (01:51 +0100)]
opj_j2k_update_image_dimensions(): reject images whose coordinates are beyond INT_MAX (fixes #1228)

4 years agoMerge pull request #1217 from rouault/fix_ossfuzz_18979
Even Rouault [Sun, 17 Nov 2019 12:08:41 +0000 (13:08 +0100)]
Merge pull request #1217 from rouault/fix_ossfuzz_18979

pi.c: avoid integer overflow, resulting in later invalid access to memory in opj_t2_decode_packets()

4 years agoJPWL: convert: Fix buffer overflow reading an image file less than four characters...
Robert Ancell [Sun, 17 Nov 2019 02:09:59 +0000 (15:09 +1300)]
JPWL: convert: Fix buffer overflow reading an image file less than four characters (#1196)

Fixes #1068

4 years agoMerge pull request #1218 from rouault/fix_broken_abi_check
Even Rouault [Sun, 17 Nov 2019 01:47:26 +0000 (02:47 +0100)]
Merge pull request #1218 from rouault/fix_broken_abi_check

abi-check.sh: fix false postive ABI error, and display output error log

4 years agoabi-check.sh: fix false postive ABI error, and display output error log 1218/head
Even Rouault [Sun, 17 Nov 2019 00:35:26 +0000 (01:35 +0100)]
abi-check.sh: fix false postive ABI error, and display output error log

There is currently a false positive ABI check failure between v2.3.1
and current. It disappears when removing the generated reports of v2.3.1
and recreating them. It is likely that some tooling has evolved since
the initial v2.3.1 report generation.

4 years agopi.c: avoid integer overflow, resulting in later invalid access to memory in opj_t2_d... 1217/head
Even Rouault [Sun, 17 Nov 2019 00:18:26 +0000 (01:18 +0100)]
pi.c: avoid integer overflow, resulting in later invalid access to memory in opj_t2_decode_packets(). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18979

4 years agoopj_tcd_mct_decode()/opj_mct_decode()/opj_mct_encode_real()/opj_mct_decode_real(...
Even Rouault [Thu, 3 Oct 2019 09:04:30 +0000 (11:04 +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)

4 years agoopenjp2/j2k: Validate all SGcod/SPcod/SPcoc parameter values. 1211/head
Sebastian Rasmussen [Wed, 31 Oct 2018 14:56:11 +0000 (15:56 +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.

4 years agoopenjp2/j2k: Make comments adhere to specification.
Sebastian Rasmussen [Tue, 3 Sep 2019 23:18:37 +0000 (01:18 +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.

4 years agoMerge pull request #1164 from sebras/master
Even Rouault [Tue, 3 Sep 2019 15:03:54 +0000 (17:03 +0200)]
Merge pull request #1164 from sebras/master

openjp2/j2k: Report error if all wanted components are not decoded.

4 years agoopj_decompress_fuzzer: remove checks regarding input dimensions (fixes #1079)
Even Rouault [Sat, 15 Jun 2019 07:55:16 +0000 (09:55 +0200)]
opj_decompress_fuzzer: remove checks regarding input dimensions (fixes #1079)

4 years agotest_decode_area.c: assign tdy to *ptileh instead of *ptilew (fixes #1195)
Even Rouault [Sun, 26 May 2019 09:06:01 +0000 (11:06 +0200)]
test_decode_area.c: assign tdy to *ptileh instead of *ptilew (fixes #1195)

5 years agoMerge pull request #1185 from Young-X/fix
Even Rouault [Fri, 26 Apr 2019 17:52:52 +0000 (19:52 +0200)]
Merge pull request #1185 from Young-X/fix

Fix several potential vulnerabilities

5 years agoMerge pull request #1192 from rouault/poc_fixes
Even Rouault [Thu, 25 Apr 2019 13:32:22 +0000 (15:32 +0200)]
Merge pull request #1192 from rouault/poc_fixes

compression: emit POC marker when only one single POC is requested (f…

5 years agoChange opj_j2k_check_poc_val() to take into account tile number 1192/head
Even Rouault [Thu, 25 Apr 2019 12:07:46 +0000 (14:07 +0200)]
Change opj_j2k_check_poc_val() to take into account tile number

5 years agoAdd test for previous commit
Even Rouault [Wed, 24 Apr 2019 23:29:38 +0000 (01:29 +0200)]
Add test for previous commit

5 years agoFix POC in multi-tile scenarios: avoid almost endless loop when a tile has no POC...
Even Rouault [Wed, 24 Apr 2019 23:27:02 +0000 (01:27 +0200)]
Fix POC in multi-tile scenarios: avoid almost endless loop when a tile has no POC settings

5 years agoAdd test for previous commit
Even Rouault [Wed, 24 Apr 2019 22:40:04 +0000 (00:40 +0200)]
Add test for previous commit

5 years agoopj_j2k_check_poc_val(): prevent potential write outside of allocated array
Even Rouault [Wed, 24 Apr 2019 22:34:44 +0000 (00:34 +0200)]
opj_j2k_check_poc_val(): prevent potential write outside of allocated array

5 years agoopj_j2k_check_poc_val(): fix starting index for checking layer dimension
Even Rouault [Wed, 24 Apr 2019 22:28:05 +0000 (00:28 +0200)]
opj_j2k_check_poc_val(): fix starting index for checking layer dimension

The standard mandates that the layer index always starts at zero for every
progression.

5 years agocompression: emit POC marker when only one single POC is requested (fixes #1191)
Even Rouault [Wed, 24 Apr 2019 22:17:13 +0000 (00:17 +0200)]
compression: emit POC marker when only one single POC is requested (fixes #1191)

5 years agoj2k.c: use correct naming convention for total_data_size variable
Even Rouault [Tue, 23 Apr 2019 14:52:21 +0000 (16:52 +0200)]
j2k.c: use correct naming convention for total_data_size variable

5 years agobmp_read_rle4_data(): avoid potential infinite loop 1185/head
Young Xiao [Sat, 16 Mar 2019 12:09:59 +0000 (20:09 +0800)]
bmp_read_rle4_data(): avoid potential infinite loop

5 years agoconvertbmp: detect invalid file dimensions early
Young Xiao [Sat, 16 Mar 2019 11:57:27 +0000 (19:57 +0800)]
convertbmp: detect invalid file dimensions early

width/length dimensions read from bmp headers are not necessarily
valid. For instance they may have been maliciously set to very large
values with the intention to cause DoS (large memory allocation, stack
overflow). In these cases we want to detect the invalid size as early
as possible.

This commit introduces a counter which verifies that the number of
written bytes corresponds to the advertized width/length.

See commit 8ee335227bbc for details.

Signed-off-by: Young Xiao <YangX92@hotmail.com>
5 years agoComment back opj_previous_version in abi_check.sh
Antonin Descampe [Tue, 2 Apr 2019 13:37:38 +0000 (15:37 +0200)]
Comment back opj_previous_version in abi_check.sh

5 years agoUpdate version number for automatic abi check
Antonin Descampe [Tue, 2 Apr 2019 13:12:59 +0000 (15:12 +0200)]
Update version number for automatic abi check

5 years agoupdate token for appveyor auto release v2.3.1
Antonin Descampe [Tue, 2 Apr 2019 12:45:15 +0000 (14:45 +0200)]
update token for appveyor auto release

5 years agoupdate token for automatic release
Antonin Descampe [Tue, 2 Apr 2019 12:25:09 +0000 (14:25 +0200)]
update token for automatic release

5 years agoUpdate for release 2.3.1
Antonin Descampe [Tue, 2 Apr 2019 10:08:52 +0000 (12:08 +0200)]
Update for release 2.3.1

5 years agoUpdate for release 2.3.1
Antonin Descampe [Tue, 2 Apr 2019 09:03:16 +0000 (11:03 +0200)]
Update for release 2.3.1

5 years agoupdate for release 2.3.1
Antonin Descampe [Tue, 2 Apr 2019 09:02:20 +0000 (11:02 +0200)]
update for release 2.3.1

5 years agoUpdate BUILD version for release 2.3.1
Antonin Descampe [Tue, 2 Apr 2019 09:00:58 +0000 (11:00 +0200)]
Update BUILD version for release 2.3.1

5 years agoMerge pull request #1188 from rouault/fix_abi_check
Even Rouault [Fri, 29 Mar 2019 11:25:39 +0000 (12:25 +0100)]
Merge pull request #1188 from rouault/fix_abi_check

abi-check.sh: fix broken download URL

5 years agoabi-check.sh: fix broken download URL 1188/head
Even Rouault [Fri, 29 Mar 2019 10:53:23 +0000 (11:53 +0100)]
abi-check.sh: fix broken download URL

5 years agoMerge pull request #1187 from rouault/fix_ubsan_in_opj_t1_encode_cblks
Even Rouault [Fri, 29 Mar 2019 10:52:38 +0000 (11:52 +0100)]
Merge pull request #1187 from rouault/fix_ubsan_in_opj_t1_encode_cblks

opj_t1_encode_cblks: fix UBSAN signed integer overflow

5 years agoopj_t1_encode_cblks: fix UBSAN signed integer overflow 1187/head
Even Rouault [Fri, 29 Mar 2019 10:17:39 +0000 (11:17 +0100)]
opj_t1_encode_cblks: fix UBSAN signed integer overflow

Fixes #1053 / CVE-2018-5727

Note: I don't consider this issue to be a security vulnerability, in
practice.
At least with gcc or clang compilers on x86_64 which generate the same
assembly code with or without that fix.

5 years agoRevert "[JPWL] tgatoimage(): avoid excessive memory allocation attempt,"
Even Rouault [Fri, 29 Mar 2019 09:44:35 +0000 (10:44 +0100)]
Revert "[JPWL] tgatoimage(): avoid excessive memory allocation attempt,"

This reverts commit 05be3084460e46282ee63f04c72c451f3271fd28.

This commit doesn't compile due to missing OPJ_UINT64 type

5 years agoRevert "[MJ2] Avoid index out of bounds access to pi->include[]"
Even Rouault [Fri, 29 Mar 2019 09:40:58 +0000 (10:40 +0100)]
Revert "[MJ2] Avoid index out of bounds access to pi->include[]"

This reverts commit c277159986c80142180fbe5efb256bbf3bdf3edc.

The commit didn't compile. include_size is not defined in openmj2

5 years agoopenjp2/j2k: Report error if all wanted components are not decoded. 1164/head
Sebastian Rasmussen [Wed, 31 Oct 2018 19:22:11 +0000 (20:22 +0100)]
openjp2/j2k: Report error if all wanted components are not decoded.

Previously the caller had to check whether each component data had
been decoded. This means duplicating the checking in every user of
openjpeg which is unnecessary. If the caller wantes to decode all
or a set of, or a specific component then openjpeg ought to error
out if it was unable to do so.

Fixes #1158.

5 years agoMerge pull request #1172 from hlef/master
Even Rouault [Fri, 21 Dec 2018 15:41:00 +0000 (16:41 +0100)]
Merge pull request #1172 from hlef/master

convertbmp: detect invalid file dimensions early (CVE-2018-6616)

5 years agoconvertbmp: detect invalid file dimensions early 1172/head
Hugo Lefeuvre [Fri, 14 Dec 2018 03:58:40 +0000 (04:58 +0100)]
convertbmp: detect invalid file dimensions early

width/length dimensions read from bmp headers are not necessarily
valid. For instance they may have been maliciously set to very large
values with the intention to cause DoS (large memory allocation, stack
overflow). In these cases we want to detect the invalid size as early
as possible.

This commit introduces a counter which verifies that the number of
written bytes corresponds to the advertized width/length.

Fixes #1059 (CVE-2018-6616).

5 years agoMerge pull request #1168 from Young-X/fix_dev
Even Rouault [Fri, 7 Dec 2018 20:27:38 +0000 (21:27 +0100)]
Merge pull request #1168 from Young-X/fix_dev

Fix multiple potential vulnerabilities and bugs

5 years ago[JPWL] tgatoimage(): avoid excessive memory allocation attempt, 1168/head
Young Xiao [Wed, 28 Nov 2018 06:44:06 +0000 (14:44 +0800)]
[JPWL] tgatoimage(): avoid excessive memory allocation attempt,
and fixes unaligned load

Signed-off-by: Young Xiao <YangX92@hotmail.com>
5 years ago [JP3D] To avoid divisions by zero / undefined behaviour on shift (CVE-2018-14423
Young_X [Fri, 23 Nov 2018 09:15:05 +0000 (17:15 +0800)]
 [JP3D] To avoid divisions by zero / undefined behaviour on shift (CVE-2018-14423

Signed-off-by: Young_X <YangX92@hotmail.com>
5 years ago [JPWL] opj_compress: reorder checks related to code block dimensions to avoid potent...
Young_X [Fri, 23 Nov 2018 09:12:06 +0000 (17:12 +0800)]
 [JPWL] opj_compress: reorder checks related to code block dimensions to avoid potential int overflow

Signed-off-by: Young_X <YangX92@hotmail.com>
5 years ago[OPENJP2] change the way to compute *p_tx0, *p_tx1, *p_ty0, *p_ty1 in function
Young_X [Fri, 23 Nov 2018 08:24:19 +0000 (16:24 +0800)]
[OPENJP2] change the way to compute *p_tx0, *p_tx1, *p_ty0, *p_ty1 in function
opj_get_encoding_parameters

Signed-off-by: Young_X <YangX92@hotmail.com>
5 years ago[MJ2] Avoid index out of bounds access to pi->include[]
Young_X [Fri, 23 Nov 2018 08:12:53 +0000 (16:12 +0800)]
[MJ2] Avoid index out of bounds access to pi->include[]

Signed-off-by: Young_X <YangX92@hotmail.com>
5 years agoMerge pull request #1170 from rouault/fix_color_apply_icc_profile
Even Rouault [Tue, 27 Nov 2018 23:04:30 +0000 (00:04 +0100)]
Merge pull request #1170 from rouault/fix_color_apply_icc_profile

color_apply_icc_profile: avoid potential heap buffer overflow

5 years agocolor_apply_icc_profile: avoid potential heap buffer overflow 1170/head
Even Rouault [Tue, 27 Nov 2018 22:31:30 +0000 (23:31 +0100)]
color_apply_icc_profile: avoid potential heap buffer overflow

Derived from a patch by Thuan Pham

5 years ago[JPWL] imagetotga(): fix read heap buffer overflow if numcomps < 3 (#987)
Young_X [Fri, 23 Nov 2018 07:58:23 +0000 (15:58 +0800)]
[JPWL] imagetotga(): fix read heap buffer overflow if numcomps < 3 (#987)

Signed-off-by: Young_X <YangX92@hotmail.com>
5 years ago[JPWL] fix CVE-2018-16375
Young_X [Fri, 23 Nov 2018 07:02:26 +0000 (15:02 +0800)]
[JPWL] fix CVE-2018-16375

Signed-off-by: Young_X <YangX92@hotmail.com>
5 years ago[MJ2] To avoid divisions by zero / undefined behaviour on shift
Young_X [Fri, 23 Nov 2018 06:47:36 +0000 (14:47 +0800)]
[MJ2] To avoid divisions by zero / undefined behaviour on shift

Signed-off-by: Young_X <YangX92@hotmail.com>
5 years agoMerge pull request #1160 from hlef/master
Even Rouault [Fri, 16 Nov 2018 08:42:19 +0000 (09:42 +0100)]
Merge pull request #1160 from hlef/master

jp3d/jpwl convert: fix write stack buffer overflow

5 years agoopenjp3d: Int overflow fixed (#1159)
ichlubna [Fri, 16 Nov 2018 08:40:31 +0000 (09:40 +0100)]
openjp3d: Int overflow fixed (#1159)

When compressing a lot of slices (starting from 44 FullHD slices with 3 8bit components in our experiments) the rate values are high enough to cause an int overflow that leads to negative lengths and wrong results. The cast happens too late.

5 years agojp2: convert: fix null pointer dereference 1160/head
Hugo Lefeuvre [Wed, 7 Nov 2018 17:48:29 +0000 (18:48 +0100)]
jp2: convert: fix null pointer dereference

Tile components in a JP2 image might have null data pointer by defining a
zero component size (for example using large horizontal or vertical
sampling periods). This null data pointer leads to null image component
data pointer, causing crash when dereferenced without != null check in
imagetopnm.

Add != null check.

This commit addresses #1152 (CVE-2018-18088).

5 years agojp3d/jpwl convert: fix write stack buffer overflow
Hugo Lefeuvre [Mon, 22 Oct 2018 14:59:41 +0000 (16:59 +0200)]
jp3d/jpwl convert: fix write stack buffer overflow

Missing buffer length formatter in fscanf call might lead to write
stack buffer overflow.

fixes #1044 (CVE-2017-17480)

5 years agoFix some potential overflow issues (#1161)
Stefan Weil [Wed, 31 Oct 2018 19:44:30 +0000 (20:44 +0100)]
Fix some potential overflow issues (#1161)

* Fix some potential overflow issues

Put sizeof to the beginning of the multiplication to enforce that
size_t instead of smaller integer types is used for the calculation.

This fixes warnings from LGTM:

    Multiplication result may overflow 'unsigned int'
    before it is converted to 'unsigned long'.

It also allows removing some type casts.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
* Fix code indentation

Signed-off-by: Stefan Weil <sw@weilnetz.de>
5 years agoMerge pull request #1163 from nforro/memory-and-resource-leaks
Even Rouault [Wed, 31 Oct 2018 19:41:52 +0000 (20:41 +0100)]
Merge pull request #1163 from nforro/memory-and-resource-leaks

Fix several memory and resource leaks

5 years agoFix several memory and resource leaks 1163/head
Nikola Forró [Wed, 31 Oct 2018 12:39:05 +0000 (13:39 +0100)]
Fix several memory and resource leaks

Signed-off-by: Nikola Forró <nforro@redhat.com>
5 years agoopj_thread_pool_setup(): fix infinite waiting if a thread creation failed
Even Rouault [Thu, 18 Oct 2018 09:45:45 +0000 (11:45 +0200)]
opj_thread_pool_setup(): fix infinite waiting if a thread creation failed

5 years agoMerge pull request #1148 from hlef/master
Even Rouault [Sat, 22 Sep 2018 21:54:12 +0000 (23:54 +0200)]
Merge pull request #1148 from hlef/master

CVE-2018-5785: fix issues with zero bitmasks

5 years agoopj_jp2_apply_pclr(): remove useless assert that can trigger on some files (fixes...
Even Rouault [Sat, 22 Sep 2018 21:47:56 +0000 (23:47 +0200)]
opj_jp2_apply_pclr(): remove useless assert that can trigger on some files (fixes #1125)

5 years agoMerge branch 'pr1095'
Even Rouault [Sat, 22 Sep 2018 21:12:50 +0000 (23:12 +0200)]
Merge branch 'pr1095'

5 years agoopj_mj2_extract: Check provided output prefix for length
Karol Babioch [Fri, 2 Mar 2018 13:40:58 +0000 (14:40 +0100)]
opj_mj2_extract: Check provided output prefix for length

This uses snprintf() with correct buffer length instead of sprintf(), which
prevents a buffer overflow when providing a long output prefix. Furthermore
the program exits with an error when the provided output prefix is too long.

Fixes #1088.

5 years agoMerge branch 'pr1107'
Even Rouault [Sat, 22 Sep 2018 21:05:54 +0000 (23:05 +0200)]
Merge branch 'pr1107'

5 years agoopj_mj2_extract: Avoid segfault for long filenames
szukw000 [Tue, 13 Mar 2018 17:11:54 +0000 (18:11 +0100)]
opj_mj2_extract: Avoid segfault for long filenames

5 years agoMerge pull request #1136 from reverson/master
Even Rouault [Sat, 22 Sep 2018 20:59:36 +0000 (22:59 +0200)]
Merge pull request #1136 from reverson/master

Cast on uint ceildiv

5 years agoMerge pull request #1119 from stweil/ssize_t
Even Rouault [Sat, 22 Sep 2018 20:59:17 +0000 (22:59 +0200)]
Merge pull request #1119 from stweil/ssize_t

Use local type declaration for POSIX standard type only for MS compiler

5 years agoMerge pull request #1128 from stweil/typos
Even Rouault [Sat, 22 Sep 2018 20:55:33 +0000 (22:55 +0200)]
Merge pull request #1128 from stweil/typos

Fix some typos in code comments and documentation

5 years agoMerge pull request #1140 from bukatlib/fix_relpath
Even Rouault [Sat, 22 Sep 2018 20:54:51 +0000 (22:54 +0200)]
Merge pull request #1140 from bukatlib/fix_relpath

Relative path to header files is hardcoded in OpenJPEGConfig.cmake.in file

5 years agoMerge pull request #1141 from szukw000/changes-in-pnmtoimage
Even Rouault [Sat, 22 Sep 2018 20:47:27 +0000 (22:47 +0200)]
Merge pull request #1141 from szukw000/changes-in-pnmtoimage

Changes in pnmtoimage if image data are missing