Even Rouault
e528531922
pgxtoimage(): fix write stack buffer overflow ( #997 )
2017-08-18 13:39:20 +02:00
Even Rouault
028c504a43
test_decode_area: fix to make it work with odd image dimensions
2017-08-18 12:30:11 +02:00
Even Rouault
5597522cac
bmp_read_rle8_data(): avoid potential infinite loop ( #996 )
2017-08-18 10:16:38 +02:00
Even Rouault
5d12806091
opj_j2k_update_rates(): grow tile size buffer for some situations
2017-08-17 19:18:48 +02:00
Even Rouault
4b0bfbfabc
Zero-initialize tile buffer regions of skipped code-blocks, so as to make Valgrind happy
2017-08-17 19:05:54 +02:00
Even Rouault
fe338a057c
Sub-tile decoding: only decode precincts and codeblocks that intersect the window specified in opj_set_decode_area()
2017-08-17 19:05:54 +02:00
Even Rouault
17ea17f487
Fix -Wconversion warning
2017-08-17 19:05:29 +02:00
Even Rouault
fd8448ed44
bench_dwt.c: fix signedness related warnings
2017-08-17 17:04:48 +02:00
Even Rouault
da046b73a8
convert.c: fix recently introduced -Wsign-conversion warnings
2017-08-17 17:02:40 +02:00
Even Rouault
9f7d79fd30
opj_getopt_long(): avoid infinite loop on invalid or missing value for an option ( #736 )
2017-08-17 14:52:10 +02:00
Even Rouault
1ab6e0e07a
opj_decompress_fuzzer.cpp: reject images with too big tiles. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2918 . Credit to OSS Fuzz
2017-08-17 12:01:16 +02:00
Even Rouault
2cd30c2b06
tgatoimage(): avoid excessive memory allocation attempt, and fixes unaligned load ( #995 )
2017-08-17 11:47:40 +02:00
Even Rouault
09e83407fa
Avoid asserting on assert(i == pcol) in opj_jp2_apply_pclr() by adding new check in opj_jp2_check_color(). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3068 . Credit to OSS Fuzz
2017-08-17 11:05:53 +02:00
Even Rouault
8e6c371e66
opj_t1_encode_cblk(): avoid uint32 overflow when numbps = 0 (which is well defined behaviour, and is properly handled here, but better avoid it to detect real issues)
2017-08-16 18:29:59 +02:00
Even Rouault
1e387de742
Fix build issue of JPWL by adding opj_image_data_alloc() and opj_image_data_free() to src/lib/openmj2 ( #994 )
2017-08-16 17:39:20 +02:00
Even Rouault
c535531f03
opj_t2_encode_packet(): fix potential write heap buffer overflow ( #992 )
2017-08-16 17:20:29 +02:00
Even Rouault
dcac91b8c7
opj_j2k_write_sot(): fix potential write heap buffer overflow ( #991 )
2017-08-16 17:09:10 +02:00
Even Rouault
af76000771
tiftoimage(): fix read heap buffer overflow ( #988 )
...
The number of components is given only by TIFFTAG_SAMPLESPERPIXEL / tiSpp.
Querying TIFFTAG_EXTRASAMPLES only give information about which channel is
the alpha channel, but we mostly ignore it for now, so remove that part of the
code.
2017-08-16 13:36:52 +02:00
Even Rouault
ab4de904e7
imagetotga(): fix read heap buffer overflow if numcomps < 3 ( #987 )
2017-08-16 13:11:36 +02:00
Even Rouault
9624b2fa47
opj_t2_encode_packet(): only emit an error about insufficiently large output buffer in FINAL_PASS mode. Fixes (master-only) regression added in 0b4fef6d19
2017-08-16 12:52:33 +02:00
Even Rouault
4241ae6fbb
Fix assertion in debug mode / heap-based buffer overflow in opj_write_bytes_LE for Cinema profiles with numresolutions = 1 ( #985 )
2017-08-15 11:55:58 +02:00
Even Rouault
52d5690a6f
Merge pull request #984 from stweil/const
...
Use more const qualifiers
2017-08-14 17:28:26 +02:00
Even Rouault
baf0c1ad45
bmp_read_info_header(): reject bmp files with biBitCount == 0 ( #983 )
2017-08-14 17:26:58 +02:00
Even Rouault
afb308b9cc
Encoder: grow buffer size in opj_tcd_code_block_enc_allocate_data() to avoid write heap buffer overflow in opj_mqc_flush ( #982 )
2017-08-14 17:20:37 +02:00
Stefan Weil
bc59410f25
Use const qualifier for mqc_states
...
This allows more compiler optimizations.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2017-08-14 14:41:27 +02:00
Stefan Weil
10e6ce2c2c
Use const qualifier for j2k_prog_order_list
...
This allows more compiler optimizations.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2017-08-14 14:41:27 +02:00
Even Rouault
0b4c3ce75d
Merge pull request #980 from szukw000/changes-for-ppc64-converttif
...
Changes in converttif.c for PPC64
2017-08-11 15:13:35 +02:00
szukw000
9f750884f9
Changes in converttif.c for PPC64
2017-08-11 00:06:23 +02:00
Even Rouault
a35b489134
Fix argument order in error message of previous commit
2017-08-10 16:58:36 +02:00
Even Rouault
0b4fef6d19
Propagate event manager down to opj_t2_encode_packet() and use it to emit an error message when the output buffer is too small
2017-08-10 16:49:47 +02:00
Even Rouault
a316f36dfc
Fix crash on encoding if using opj_set_default_encoder_parameters() without defining tcp_numlayers
2017-08-10 14:43:16 +02:00
Even Rouault
a4c938181d
Reformat tests/test_tile_encoder.c
2017-08-10 12:30:31 +02:00
Even Rouault
26fe8f6043
Improve doc of opj_tccp_info_t::cblkw and cblkh
2017-08-10 11:45:49 +02:00
Antonin Descampe
07c2fe28b0
Comment back previous version in abi-check.sh
2017-08-09 21:51:16 -07:00
Antonin Descampe
c5987173c5
update abi-check for latest release
2017-08-09 21:35:30 -07:00
Antonin Descampe
3d7cde5fc9
Preparing Release v2.2.0
2017-08-09 17:31:50 -07:00
Antonin Descampe
bc21818c63
Preparing Release v2.2.0
2017-08-09 17:28:17 -07:00
Even Rouault
c03fbbee63
.travis.yml: add 'dist: precise' for config that requires it
2017-08-10 01:14:35 +02:00
Even Rouault
4b16e8d27a
Remove useless opj_tcd_t::enumcs field added per #975
2017-08-09 17:37:05 +02:00
Even Rouault
5e200452db
Doc: fix error in previous commit
2017-08-09 15:04:29 +02:00
Even Rouault
9203e8ec51
tcd.h: doc fixes and improvements
2017-08-09 14:50:59 +02:00
Even Rouault
11b1ffb373
Document qmfbid values
2017-08-09 14:13:58 +02:00
Even Rouault
ac375ac9f5
Partial revert BPC related check of #975 ( #979 )
...
PR #975 introduced a check that rejects images that have different bit depth/sign
per compoment in SIZ marker if the JP2 IHDR box has BPC != 255
This didn't work properly if decoding a .j2k file since the new bit added in
opj_cp_t wasn't initialized to the right value.
For clarity, tThis new bit has also been renamed to allow_different_bit_depth_sign
But looking closer at the code, it seems we were already tolerant to inconsistencies.
For example we parsed a JP2 BPCC box even if BPC != 255 (just a warning is emitted)
So failing hard in opj_j2k_read_siz() wouldn't be very inconsistent, and that
alone cannot protect against other issues, so just emit a warning if BPC != 255
and the SIZ marker contains different bit depth/sign per component.
Note: we could also check that the content of JP2 BPCC box is consistant with the one
of the SIZ marker.
2017-08-09 11:34:08 +02:00
Even Rouault
c38bdbef4f
opj_decompress: document -quiet option, and remove spurious newline output
2017-08-09 10:03:59 +02:00
Even Rouault
0eceb4494c
src/bin/jpwl/convert.c pgxtoimage(): add missing fclose() ( #977 )
2017-08-09 09:50:39 +02:00
Even Rouault
5a560ebf51
imagetobmp: avoid shift by -1 (relates to #811 )
2017-08-09 09:42:30 +02:00
Antonin Descampe
0c07950cb3
Fix remaining warning
...
format specifier mismatch in #975
2017-08-08 18:05:37 -07:00
Antonin Descampe
0394f8d0f1
Merge pull request #975 from szukw000/changes-for-afl-tests
...
Catch images broken by AFL
2017-08-08 16:51:54 -07:00
Even Rouault
3b1b067266
Merge pull request #968 from rouault/reduce_memory_decoding
...
Reduce memory decoding
2017-08-07 20:17:36 +02:00
Even Rouault
92114694a4
Slight improvement in management of code block chunks
...
Instead of having the chunk array at the segment level, we can move it down to
the codeblock itself since segments are filled in sequential order.
Limit the number of memory allocation, and decrease slightly the memory usage.
On MAPA_005.jp2
n4: 1871312549 (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
n1: 1610689344 0x4E781E7: opj_aligned_malloc (opj_malloc.c:61)
n1: 1610689344 0x4E71D1B: opj_alloc_tile_component_data (tcd.c:676)
n1: 1610689344 0x4E726CF: opj_tcd_init_decode_tile (tcd.c:816)
n1: 1610689344 0x4E4BE39: opj_j2k_read_tile_header (j2k.c:8617)
n1: 1610689344 0x4E4C902: opj_j2k_decode_tiles (j2k.c:10348)
n1: 1610689344 0x4E4E3CE: opj_j2k_decode (j2k.c:7846)
n1: 1610689344 0x4E53002: opj_jp2_decode (jp2.c:1564)
n0: 1610689344 0x40374E: main (opj_decompress.c:1459)
n1: 219232541 0x4E4BC50: opj_j2k_read_tile_header (j2k.c:4683)
n1: 219232541 0x4E4C902: opj_j2k_decode_tiles (j2k.c:10348)
n1: 219232541 0x4E4E3CE: opj_j2k_decode (j2k.c:7846)
n1: 219232541 0x4E53002: opj_jp2_decode (jp2.c:1564)
n0: 219232541 0x40374E: main (opj_decompress.c:1459)
n1: 23893200 0x4E72735: opj_tcd_init_decode_tile (tcd.c:1225)
n1: 23893200 0x4E4BE39: opj_j2k_read_tile_header (j2k.c:8617)
n1: 23893200 0x4E4C902: opj_j2k_decode_tiles (j2k.c:10348)
n1: 23893200 0x4E4E3CE: opj_j2k_decode (j2k.c:7846)
n1: 23893200 0x4E53002: opj_jp2_decode (jp2.c:1564)
n0: 23893200 0x40374E: main (opj_decompress.c:1459)
n0: 17497464 in 52 places, all below massif's threshold (1.00%)
2017-08-07 18:32:52 +02:00