Update ABI/API compatibility reports after commit fd8448ed446a935da3210821a783e794ede...
[openjpeg.git] / abi-check / changelog / openjpeg / current / log.html
index d1f7c08e074143ecaa66d6058afcc7ec5a32424e..c0b2302019013293545d3731ded783498d530dd4 100644 (file)
 <br/>
 <h1>Changelog from Git</h1><br/><br/>
 <div class='changelog'>
-<pre class='wrap'>commit 48125b0d124bc668b971b1f5df5a3c39798cfcf9
+<pre class='wrap'>commit fd8448ed446a935da3210821a783e794ede3c599
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-31 17:35:10 +0200
+Date:   2017-08-17 17:04:48 +0200
 
-    src/bin/jpwl/convert.c: add missing fclose() in error code path (suggested by maddin200, #976)
+    bench_dwt.c: fix signedness related warnings
 
-commit 13cde9fa37249628af6b6f10601b733f87a025f4
+commit da046b73a89806eae2f7f461c2a46bda7e07aaa8
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-30 19:46:52 +0200
+Date:   2017-08-17 17:02:40 +0200
 
-    src/lib/openjp2/*.h: use OPJ_ prefix for inclusion guards instead of reserved __ (#587)
+    convert.c: fix recently introduced -Wsign-conversion warnings
 
-commit 9a6d41d22b1a4f17a376d2f6f208c52c58b8e4b3
+commit 9f7d79fd30df3712e6bfc6d475bfa143c069c4df
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-30 19:27:01 +0200
+Date:   2017-08-17 14:52:10 +0200
 
-    opj_event_msg(): force zero termination of buffer
+    opj_getopt_long(): avoid infinite loop on invalid or missing value for an option (#736)
 
-commit b716f8616394252724ca0811eab3a20ab42b2189
+commit 1ab6e0e07a67193564811c5720a69cb28f09a809
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-30 19:26:47 +0200
+Date:   2017-08-17 12:01:16 +0200
 
-    Fix breakage of 22bf99ce0220811bfce1562ee61423cb0245b683
+    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
 
-commit 22bf99ce0220811bfce1562ee61423cb0245b683
+commit 2cd30c2b06ce332dede81cccad8b334cde997281
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-30 19:07:16 +0200
+Date:   2017-08-17 11:47:40 +0200
 
-    Test return value of opj_j2k_setup_decoding_tile() (commit https://github.com/uclouvain/openjpeg/pull/561/commits/ec31fa0c7f1ff8979312c07296cba41584c458a0 by  ak-dxdy, #561)
+    tgatoimage(): avoid excessive memory allocation attempt, and fixes unaligned load (#995)
 
-commit ffa9a4f6585dc199fb850dee4255e7a7b84aad63
+commit 09e83407fa2b53c606d3179031b8d8b31272e20c
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-30 18:46:34 +0200
+Date:   2017-08-17 11:05:53 +0200
 
-    Fix warnings in USE_JPIP compilation mode
+    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
 
-commit c22cbd8bdf8ff2ae372f94391a4be2d322b36b41
+commit 8e6c371e66d9c579048fd336cc3365869486080a
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-30 18:43:25 +0200
+Date:   2017-08-16 18:29:59 +0200
 
-    Avoid heap buffer overflow in function pnmtoimage of convert.c, and unsigned integer overflow in opj_image_create() (CVE-2016-9118, #861)
+    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)
 
-commit 83342f2aafcab4599b49f780e35fd249e8402b61
+commit 1e387de74273c4dac618df94475556541c1caf3e
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-30 18:18:59 +0200
+Date:   2017-08-16 17:38:47 +0200
 
-    Fix Doxygen warnings (patch derived from Winfried's doxygen-dif.txt.zip, #849)
+    Fix build issue of JPWL by adding opj_image_data_alloc() and opj_image_data_free() to src/lib/openmj2 (#994)
 
-commit 4748318136626dd9e841ea1aa8b52adfbab26772
+commit c535531f03369623b9b833ef41952c62257b507e
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-30 17:26:03 +0200
+Date:   2017-08-16 17:20:29 +0200
 
-    j2k.c: remove hardcoded constants related to m_state, and useless FIXME
+    opj_t2_encode_packet(): fix potential write heap buffer overflow (#992)
 
-commit e23e0c94d0eb30623bc67be19c38c22ee5378344
+commit dcac91b8c72f743bda7dbfa9032356bc8110098a
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-30 16:48:15 +0200
+Date:   2017-08-16 17:09:10 +0200
 
-    Avoid p_stream-&gt;m_user_data_length &gt;= (OPJ_UINT64)p_stream-&gt;m_byte_offset assertion in opj_stream_get_number_byte_left(). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2786. Credit to OSS Fuzz
+    opj_j2k_write_sot(): fix potential write heap buffer overflow (#991)
 
-commit 1ed8d67797ef57143e2c855b602016bf9d89337d
+commit af760007711bf93041d3eba3a41b9a48d365f303
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-30 15:35:47 +0200
+Date:   2017-08-16 13:36:52 +0200
 
-    opj_j2k_set_decode_area: replace assertions by runtime checks. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2795. Credit to OSS Fuzz
+    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.
 
-commit 68832af20e3b3710424947e12762b6b52d3b6ac0
+commit ab4de904e7dc1deee83122cd2bf6e0e7f4eb2eb0
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-30 15:22:24 +0200
+Date:   2017-08-16 13:11:36 +0200
 
-    opj_tcd_dc_level_shift_decode: avoid int32 overflow when prec == 31. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2799. Credit to OSS Fuzz
+    imagetotga(): fix read heap buffer overflow if numcomps &lt; 3 (#987)
 
-commit 517bf6fd86dae18b62390a03533d30da0e5bb701
+commit 9624b2fa4722edf77fbac631e7dacaae12c91672
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 21:11:23 +0200
+Date:   2017-08-16 12:52:33 +0200
 
-    src/bin/jpwl/convert.c: fix memleak (fix suggested by maddin200, #631)
+    opj_t2_encode_packet(): only emit an error about insufficiently large output buffer in FINAL_PASS mode. Fixes (master-only) regression added in 0b4fef6d1901254e41ab74ed681daba477d724c3
 
-commit 51eb86d8f7a6297a4f0e8ca44977b72532de0353
+commit 4241ae6fbbf1de9658764a80944dc8108f2b4154
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 19:43:23 +0200
+Date:   2017-08-15 11:55:58 +0200
+
+    Fix assertion in debug mode / heap-based buffer overflow in opj_write_bytes_LE for Cinema profiles with numresolutions = 1 (#985)
+
+commit 52d5690a6fcba86b5f117eeac8aca1971cac3688
+Merge: baf0c1a bc59410
+Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
+Date:   2017-08-14 17:28:26 +0200
 
-    Fix warnings in pi.c raised by VS11 analyze (#190)
+    Merge pull request #984 from stweil/const
+    
+    Use more const qualifiers
 
-commit 397f62c0a838e15d667ef50e27d5d011d2c79c04
+commit baf0c1ad4572daa89caa3b12985bdd93530f0dd7
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 19:13:49 +0200
+Date:   2017-08-14 17:26:58 +0200
 
-    Fix write heap buffer overflow in opj_mqc_byteout(). Discovered by Ke Liu of Tencent's Xuanwu LAB (#835)
+    bmp_read_info_header(): reject bmp files with biBitCount == 0 (#983)
 
-commit 11445eddad7e7fa5b273d1c83c91011c44e5d586
+commit afb308b9ccbe129608c9205cf3bb39bbefad90b9
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 19:03:13 +0200
+Date:   2017-08-14 17:20:37 +0200
+
+    Encoder: grow buffer size in opj_tcd_code_block_enc_allocate_data() to avoid write heap buffer overflow in opj_mqc_flush (#982)
 
-    opj_pi_update_decode_poc(): limit layno1 to the number of layers (CVE-2016-1626 and CVE-2016-1628, #850)
+commit bc59410f253b0cd3d4818ec06ce957cbdbfe4341
+Author: Stefan Weil &lt;sw@weilnetz.de&gt;
+Date:   2017-08-14 14:36:06 +0200
+
+    Use const qualifier for mqc_states
+    
+    This allows more compiler optimizations.
     
-    This has been recently fixed in a less elegant way per
-    80818c39f5bfbac37768fcee95b0ffeceaa77264
+    Signed-off-by: Stefan Weil &lt;sw@weilnetz.de&gt;
 
-commit 3fbe71369019df0b47c7a2be4fab8c05768f2f32
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 18:38:16 +0200
+commit 10e6ce2c2cfacf51fdde7e9c69bf2365840f4bb0
+Author: Stefan Weil &lt;sw@weilnetz.de&gt;
+Date:   2017-08-13 22:57:31 +0200
 
-    opj_tcd_get_decoded_tile_size(): fix potential UINT32 overflow (#854, CVE-2016-5152)
+    Use const qualifier for j2k_prog_order_list
+    
+    This allows more compiler optimizations.
     
-    Fix derived from https://pdfium.googlesource.com/pdfium.git/+/d8cc503575463ff3d81b22dad292665f2c88911e/third_party/libopenjpeg20/0018-tcd_get_decoded_tile_size.patch
+    Signed-off-by: Stefan Weil &lt;sw@weilnetz.de&gt;
 
-commit 5a3e7aaf339943bc988adbada39a1fc8f5046899
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 17:56:12 +0200
+commit 0b4c3ce75d11600ebc6675bd871f78ca3c95bc60
+Merge: a35b489 9f75088
+Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
+Date:   2017-08-11 15:13:35 +0200
 
-    color_cielab_to_rgb(): reject images with components of different dimensions to void read heap buffer overflow (#909)
+    Merge pull request #980 from szukw000/changes-for-ppc64-converttif
+    
+    Changes in converttif.c for PPC64
 
-commit 784d4d47e97b5d0fccccbd931349997a0e2074cc
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 17:51:10 +0200
+commit 9f750884f91a4f1b9ca3e6a401057c21a7e2bd99
+Author: szukw000 &lt;szukw000@arcor.de&gt;
+Date:   2017-08-11 00:06:23 +0200
 
-    Fix breakage of 2fa0fc61f2d546c8b67e7c5a9cbc61d98e1f7af0 (#970)
+    Changes in converttif.c for PPC64
 
-commit 2fa0fc61f2d546c8b67e7c5a9cbc61d98e1f7af0
+commit a35b4891340dcecf2b248c7e57a90bf7d7aa9b2f
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 17:28:55 +0200
+Date:   2017-08-10 16:58:36 +0200
 
-    imagetopnm(): make sure the alpha component has same dimension as other components to avoid read heap buffer overflow (#970)
+    Fix argument order in error message of previous commit
 
-commit db9ef99f6dd054a84fa8382c02869fb0656abfc8
+commit 0b4fef6d1901254e41ab74ed681daba477d724c3
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 16:34:35 +0200
+Date:   2017-08-10 16:49:47 +0200
 
-    opj_t1_decode_cblk(): avoid undefined shift behaviour. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2487. Credit to OSS Fuzz
+    Propagate event manager down to opj_t2_encode_packet() and use it to emit an error message when the output buffer is too small
 
-commit f6551f822fe020843299bd807ec6989abd070b2c
+commit a316f36dfc7cc4217bfce0ac6d23b47f90cf8fd9
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 16:29:11 +0200
+Date:   2017-08-10 14:43:16 +0200
 
-    opj_t1_clbl_decode_processor(): avoid undefined behaviour if roishift &gt;= 31. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2506. Credit to OSS Fuzz
+    Fix crash on encoding if using opj_set_default_encoder_parameters() without defining tcp_numlayers
 
-commit 9906fbf737692486cebabe98169988d818e2e66a
+commit a4c938181deb2cb48e408ac6e358062927060125
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 16:22:36 +0200
+Date:   2017-08-10 12:30:31 +0200
 
-    Avoid assertion in opj_j2k_merge_ppt() in case premature EOC is encountered in opj_j2k_read_tile_header(). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2785. Credit to OSS Fuzz
+    Reformat tests/test_tile_encoder.c
 
-commit 71b4f5b124d14ed609763b11e19d2d480bc32f58
+commit 26fe8f60433aa677fd29590e7da23437c41e99c8
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 15:52:11 +0200
+Date:   2017-08-10 11:45:49 +0200
 
-    opj_pi_next_pcrl(): avoid undefined shift behaviour. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2787. Credit to OSS Fuzz
+    Improve doc of opj_tccp_info_t::cblkw and cblkh
 
-commit d6654d906c1ae66590b6d600458a91f1ee923de5
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-28 22:15:47 +0200
+commit 07c2fe28b0ef3dc9f168f2b2c449275ac1dde981
+Author: Antonin Descampe &lt;antonin@gmail.com&gt;
+Date:   2017-08-09 21:51:16 -0700
 
-    opj_int_ceildiv(): fix int32 overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2494. Credit to OSS Fuzz
+    Comment back previous version in abi-check.sh
 
-commit 361c4506fdfb9b6f0e41d86d5d0ea1efb5704ecf
+commit c5987173c5ca2d6fb140dd84d7ae7736824e6d66
+Author: Antonin Descampe &lt;antonin@gmail.com&gt;
+Date:   2017-08-09 21:35:30 -0700
+
+    update abi-check for latest release
+
+commit 3d7cde5fc9fbc5618d02160900d32e02ed12a00e
+Author: Antonin Descampe &lt;antonin@descampe.net&gt;
+Date:   2017-08-09 17:31:50 -0700
+
+    Preparing Release v2.2.0
+
+commit bc21818c635f1f84aa72bb327a20ca42c3b6dcbe
+Author: Antonin Descampe &lt;antonin@gmail.com&gt;
+Date:   2017-08-09 17:28:17 -0700
+
+    Preparing Release v2.2.0
+
+commit c03fbbee6399d6a996f484015035d5996ce80f9a
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-28 22:06:26 +0200
+Date:   2017-08-10 01:14:35 +0200
 
-    opj_tcd_dc_level_shift_decode(): avoid int overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2516. Credit to OSS Fuzz
+    .travis.yml: add 'dist: precise' for config that requires it
 
-commit 7bdbe490cba9990916f94a40379cc787434340ff
+commit 4b16e8d27ae524c5bf5f8af299703f7334752465
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-28 21:55:22 +0200
+Date:   2017-08-09 17:37:05 +0200
 
-    Fix null pointer dereference in opj_jp2_apply_pclr(). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2558. Credit to OSS Fuzz
+    Remove useless opj_tcd_t::enumcs field added per #975
 
-commit 16aeb9282f6b3877aa8365c461ba8d3d1338adae
+commit 5e200452db84947f4eb893ae7f02f7dd9a358378
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-28 21:39:30 +0200
+Date:   2017-08-09 15:04:29 +0200
 
-    Fix null pointer dereference in opj_j2k_add_mct() (#895)
-    
-    Fixes openjeg-crashes-2017-07-27/issue879-poc1.j2k of #895
+    Doc: fix error in previous commit
 
-commit c5bf5ef4d6552e9159aaad29cb27826acd1a3389
+commit 9203e8ec51a1c1c1a358a9cbafdf3391549ebc80
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-28 21:29:55 +0200
+Date:   2017-08-09 14:50:59 +0200
 
-    Avoid use-after-free when a MCT marker is found after a MCC one (#895)
-    
-    Fixes openjeg-crashes-2017-07-27/issue880-poc2.j2k of #895
+    tcd.h: doc fixes and improvements
 
-commit e03e9474667e5117341351699f0b1dbb06f93346
+commit 11b1ffb373d8e41705348080ba5e74a4ffe4148c
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-27 22:29:17 +0200
+Date:   2017-08-09 14:13:58 +0200
 
-    Avoid undefined shift behaviour if bit depth == 32 (#895)
-    
-    Fixes openjeg-crashes-2017-07-27/id:000000,sig:11,src:003798,op:ext_AO,pos:128.jp2
+    Document qmfbid values
 
-commit 820fcfe8bb101a2862c076b02c9b6b636ce39d2f
+commit ac375ac9f5b4ae47501b60795e905e3d25dd00f8
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-27 19:34:54 +0200
+Date:   2017-08-09 11:34:08 +0200
 
-    opj_j2k_update_image_data / opj_tcd_update_tile_data: fix unaligned load/store (#895)
+    Partial revert BPC related check of #975 (#979)
     
-    When components don't have the same width, unaligned load/store are possible.
+    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
     
-    Fixes openjeg-crashes-2017-07-27/id:000000,sig:11,src:001342,op:flip4,pos:162.jp2 of #895
+    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.
 
-commit 6c4e5bacb9d9791fc6ff074bd7958b3820d70514
+commit c38bdbef4f3a5888948903247532fc8cf4284c00
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-27 19:22:14 +0200
+Date:   2017-08-09 10:03:59 +0200
 
-    opj_pi_next_rpcl / opj_pi_next_pcrl / opj_pi_next_cprl: avoid int overflow (#895)
-    
-    Fixes int overflow on openjeg-crashes-2017-07-27/id:000000,sig:08,src:000879,op:flip2,pos:128.jp2
+    opj_decompress: document -quiet option, and remove spurious newline output
 
-commit 178194c093422c9564efc41f9ecb5c630b43f723
+commit 0eceb4494c23d141ddf242209b92f07bc942b437
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-27 18:51:51 +0200
+Date:   2017-08-09 09:50:39 +0200
 
-    opj_jp2_check_color(): replace assertion regarding mtyp by runtime check (#672, #895)
-    
-    Fixes test case openjeg-crashes-2017-07-27/id:000000,sig:06,src:000001,op:flip1,pos:808.jp2
-    of #895
+    src/bin/jpwl/convert.c pgxtoimage(): add missing fclose() (#977)
 
-commit d6fa30099797c68c6a67decf58571dd59dbf734b
+commit 5a560ebf5138ebc241e9962306ce74bfc50fc69c
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-26 23:25:38 +0200
+Date:   2017-08-09 09:42:30 +0200
 
-    Avoids undefined shift behaviour in m_dc_level_shift computation
-    
-    Fixes warning found on clusterfuzz-testcase-minimized-5146316340461568
-    https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2495
-    
-    Credit to OSS Fuzz
+    imagetobmp: avoid shift by -1 (relates to #811)
 
-commit a88cbb6a0b3539461dfb29922102953b7a7fc3a7
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-26 22:53:59 +0200
+commit 0c07950cb3f318df5b2051ae5d96bef553bb9966
+Author: Antonin Descampe &lt;antonin@gmail.com&gt;
+Date:   2017-08-08 18:05:37 -0700
 
-    Fix various undefined shift behaviour in pi.c
+    Fix remaining warning
     
-    Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2496
-    Credit to OSS Fuzz
+    format specifier mismatch in #975
 
-commit 6c5fe9407b7768eb2ac55b83511bc103551d207a
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-26 22:22:44 +0200
+commit 0394f8d0f1c981e0bc587beddc14d1fb0b265b1b
+Merge: 3b1b067 bc3cb74
+Author: Antonin Descampe &lt;antonin@descampe.net&gt;
+Date:   2017-08-08 16:51:54 -0700
 
-    Avoid potential undefined shift behaviour in opj_bio_read() from opj_t2_read_packet_header()
+    Merge pull request #975 from szukw000/changes-for-afl-tests
     
-    Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2485
-    Credit to OSS Fuzz
+    Catch images broken by AFL
 
-commit dbf527bf2a53bc88e6cf1373991002ec0e8e22a1
-Merge: 5e795d9 94c4b73
+commit 3b1b0672663b59853b63d48f94b63ca497883527
+Merge: 2fbd4bb 9211469
 Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
-Date:   2017-07-26 22:05:32 +0200
+Date:   2017-08-07 20:17:36 +0200
 
-    Merge pull request #800 from rouault/tier1_optimizations_multithreading_pterm_check
+    Merge pull request #968 from rouault/reduce_memory_decoding
     
-    Implement predictive termination check
+    Reduce memory decoding
 
-commit 94c4b7300cc515330bf798bb45eb0d68e2c84aa0
+commit 92114694a48638e86c07e4adf11b78878045c8a9
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-26 21:39:50 +0200
+Date:   2017-07-06 19:34:21 +0200
 
-    T1 decoder: check code stream errors when predictable termination is enabled and emit a warning when errors are found
+    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%)
+
+commit ca34d13e76a588a00171e57690c1deeaf068723a
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-06 16:11:11 +0200
+
+    Decoding: do not allocate memory for the codestream of each codeblock
+    
+    Currently we allocate at least 8192 bytes for each codeblock, and copy
+    the relevant parts of the codestream in that per-codeblock buffer as we
+    decode packets.
+    As the whole codestream for the tile is ingested in memory and alive
+    during the decoding, we can directly point to it instead of copying. But
+    to do that, we need an intermediate concept, a 'chunk' of code-stream segment,
+    given that segments may be made of data at different places in the code-stream
+    when quality layers are used.
+    
+    With that change, the decoding of MAPA_005.jp2 goes down from the previous
+    improvement of 2.7 GB down to 1.9 GB.
+    
+    New profile:
+    
+    n4: 1885648469 (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
+     n1: 1610689344 0x4E78287: opj_aligned_malloc (opj_malloc.c:61)
+      n1: 1610689344 0x4E71D7B: opj_alloc_tile_component_data (tcd.c:676)
+       n1: 1610689344 0x4E7272C: opj_tcd_init_decode_tile (tcd.c:816)
+        n1: 1610689344 0x4E4BDD9: opj_j2k_read_tile_header (j2k.c:8618)
+         n1: 1610689344 0x4E4C8A2: opj_j2k_decode_tiles (j2k.c:10349)
+          n1: 1610689344 0x4E4E36E: opj_j2k_decode (j2k.c:7847)
+           n1: 1610689344 0x4E52FA2: opj_jp2_decode (jp2.c:1564)
+            n0: 1610689344 0x40374E: main (opj_decompress.c:1459)
+     n1: 219232541 0x4E4BBF0: opj_j2k_read_tile_header (j2k.c:4685)
+      n1: 219232541 0x4E4C8A2: opj_j2k_decode_tiles (j2k.c:10349)
+       n1: 219232541 0x4E4E36E: opj_j2k_decode (j2k.c:7847)
+        n1: 219232541 0x4E52FA2: opj_jp2_decode (jp2.c:1564)
+         n0: 219232541 0x40374E: main (opj_decompress.c:1459)
+     n1: 39822000 0x4E727A9: opj_tcd_init_decode_tile (tcd.c:1219)
+      n1: 39822000 0x4E4BDD9: opj_j2k_read_tile_header (j2k.c:8618)
+       n1: 39822000 0x4E4C8A2: opj_j2k_decode_tiles (j2k.c:10349)
+        n1: 39822000 0x4E4E36E: opj_j2k_decode (j2k.c:7847)
+         n1: 39822000 0x4E52FA2: opj_jp2_decode (jp2.c:1564)
+          n0: 39822000 0x40374E: main (opj_decompress.c:1459)
+     n0: 15904584 in 52 places, all below massif's threshold (1.00%)
 
-commit 5e795d90a1e47616e0c7a2e39381c13ccf7fd6dd
+commit 373520db309430b68dd9ff09cba03a25f711a88e
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-26 21:06:38 +0200
+Date:   2017-07-06 13:23:29 +0200
 
-    Spelling fixes (patch by ka7, #890, rebased on top of master)
+    Add documentation for magic values in the code
 
-commit 2be20ce7d9996e960d79f3ad6ec439a9895849ed
+commit 434ace4ff74cc3eee401d4d3c02668c1d85f2a0d
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-26 21:04:01 +0200
+Date:   2017-07-06 02:17:26 +0200
 
-    Reformat src/bin/wx/OPJViewer/source/OPJThreads.cpp src/bin/wx/OPJViewer/source/imagjpeg2000.cpp wrapping/java/openjp2/JavaOpenJPEG.c
+    opj_jp2_apply_pclr() also needs to use opj_image_data_alloc/opj_image_data_free
 
-commit 94cc97c58acfa574e734fac5eb673c516c0ac469
+commit 0c1fc0593ef5b918068709fd74d76e4824c90e7c
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-26 20:13:09 +0200
+Date:   2017-07-06 02:02:25 +0200
 
-    opj_decompress: fix null pointer dereference on comps[].data on id_000167,sig_11,src_006079,op_havoc,rep_4 (#939)
+    Complementary fix to previous commit
 
-commit 8d2e69e37d01bf6a0440d3109d92235c3c586ffe
+commit f58aab9d6a57e48bdc60e15dd373c24de74719a9
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-26 19:49:38 +0200
+Date:   2017-07-06 01:47:40 +0200
 
-    Fix assertion / memory leak in opj_j2k_merge_ppt() on corrupted images (#939)
+    Add opj_image_data_alloc() / opj_image_data_free()
     
-    Fixes issue on id:000020,sig:06,src:001958,op:flip4,pos:149 that has two
-    SOT markers for the same tile with the same tile part number, causing
-    opj_j2k_merge_ppt() to be called several times.
+    As bin/common/color.c used to directly call malloc()/free(), we need
+    to export functions dedicated to allocating/freeing image component data.
 
-commit 5c5319984b81e2aa32d1d83abdef0cdb8dbe7b18
+commit 61fb5dd7f81c2e3dfabbb99f59dc89572d59fa37
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-26 18:05:56 +0200
+Date:   2017-07-06 01:05:24 +0200
 
-    Avoid division by zero in opj_pi_next_rpcl, opj_pi_next_pcrl, opj_pi_next_cprl (#938)
+    Fix crash on Windows due to b7594c0fcb9dd3aa6356d72c4a525d76168da689
+    
+    b7594c0fcb9dd3aa6356d72c4a525d76168da689 may put opj_tcd_tilecomp_t-&gt;data
+    allocated by opj_alloc_tile_component_data() as the image-&gt;comps[].data. As
+    opj_alloc_tile_component_data() use opj_aligned_malloc() we must be sure to
+    ue opj_alined_malloc()/_free() in all places where we alloc/free
+    image-&gt;comps[].data.
     
-    Fixes crash on id_000004,sig_06,src_000679,op_arith8,pos_49,val_-17
+    Note: this might have some compatibility impact in case user code does itself
+    the allocation/free of image-&gt;comps[].data
 
-commit 80818c39f5bfbac37768fcee95b0ffeceaa77264
+commit 793edc38e41700e9b4cda4b7f9c79aba95b8d989
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-26 12:24:26 +0200
+Date:   2017-07-05 23:48:28 +0200
 
-    Avoid index out of bounds access to pi-&gt;include[] (#938)
+    Decrease memory consumption for whole image single tile decoding.
+    
+    We can use the same buffer for the tile decoding and the final image, and
+    save the intermediate buffer to transfer between those.
+    
+    Effect on the decoding of MAPA (9944 x 13498 x 3 components of size byte)
     
-    Fix id:000098,sig:11,src:005411,op:havoc,rep:2 test case
+    Peak memory from 4.5 GB to 2.7 GB
+    
+    Now:
+    n5: 2699708767 (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
+     n1: 1610689344 0x4E77E07: opj_aligned_malloc (opj_malloc.c:61) &lt;-- final image
+      n1: 1610689344 0x4E7195B: opj_alloc_tile_component_data (tcd.c:676)
+       n1: 1610689344 0x4E722D2: opj_tcd_init_decode_tile (tcd.c:816)
+        n1: 1610689344 0x4E4BCF1: opj_j2k_read_tile_header (j2k.c:8597)
+         n1: 1610689344 0x4E4C742: opj_j2k_decode_tiles (j2k.c:10324)
+          n1: 1610689344 0x4E4E20E: opj_j2k_decode (j2k.c:7826)
+           n1: 1610689344 0x4E52E42: opj_jp2_decode (jp2.c:1564)
+            n0: 1610689344 0x40369E: main (opj_decompress.c:1459)
+     n1: 815554560 0x4E72231: opj_tcd_init_decode_tile (tcd.c:1217) &lt;-- working memory for code blocks: 9944*13498/64/64*8192*3
+      n1: 815554560 0x4E4BCF1: opj_j2k_read_tile_header (j2k.c:8597)
+       n1: 815554560 0x4E4C742: opj_j2k_decode_tiles (j2k.c:10324)
+        n1: 815554560 0x4E4E20E: opj_j2k_decode (j2k.c:7826)
+         n1: 815554560 0x4E52E42: opj_jp2_decode (jp2.c:1564)
+          n0: 815554560 0x40369E: main (opj_decompress.c:1459)
+     n1: 219758391 0x4E4C0BF: opj_j2k_read_tile_header (j2k.c:4661) &lt;-- ingestion of code stream
+      n1: 219758391 0x4E4C742: opj_j2k_decode_tiles (j2k.c:10324)
+       n1: 219758391 0x4E4E20E: opj_j2k_decode (j2k.c:7826)
+        n1: 219758391 0x4E52E42: opj_jp2_decode (jp2.c:1564)
+         n0: 219758391 0x40369E: main (opj_decompress.c:1459)
+     n1: 39822000 0x4E7224F: opj_tcd_init_decode_tile (tcd.c:1224) &lt;-- OPJ_J2K_DEFAULT_NB_SEGS*sizeof(opj_tcd_seg_t) per codeblock
+      n1: 39822000 0x4E4BCF1: opj_j2k_read_tile_header (j2k.c:8597)
+       n1: 39822000 0x4E4C742: opj_j2k_decode_tiles (j2k.c:10324)
+        n1: 39822000 0x4E4E20E: opj_j2k_decode (j2k.c:7826)
+         n1: 39822000 0x4E52E42: opj_jp2_decode (jp2.c:1564)
+          n0: 39822000 0x40369E: main (opj_decompress.c:1459)
+     n0: 13884472 in 49 places, all below massif's threshold (1.00%)
+    
+    Before:
+    n5: 4493329848 (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
+     n2: 1610709160 0x4E77C87: opj_aligned_malloc (opj_malloc.c:61)
+      n1: 1610689344 0x4E717DB: opj_alloc_tile_component_data (tcd.c:676)
+       n1: 1610689344 0x4E72152: opj_tcd_init_decode_tile (tcd.c:816)
+        n1: 1610689344 0x4E4BCF1: opj_j2k_read_tile_header (j2k.c:8597)
+         n1: 1610689344 0x4E4C64A: opj_j2k_decode_tiles (j2k.c:10318)
+          n1: 1610689344 0x4E4E08E: opj_j2k_decode (j2k.c:7826)
+           n1: 1610689344 0x4E52CC2: opj_jp2_decode (jp2.c:1564)
+            n0: 1610689344 0x40369E: main (opj_decompress.c:1459)
+      n0: 19816 in 2 places, all below massif's threshold (1.00%)
+     n1: 1610689344 0x4E43F36: opj_j2k_update_image_data.isra.7 (j2k.c:8743)
+      n1: 1610689344 0x4E4C5C1: opj_j2k_decode_tiles (j2k.c:10358)
+       n1: 1610689344 0x4E4E08E: opj_j2k_decode (j2k.c:7826)
+        n1: 1610689344 0x4E52CC2: opj_jp2_decode (jp2.c:1564)
+         n0: 1610689344 0x40369E: main (opj_decompress.c:1459)
+     n1: 815554560 0x4E720B1: opj_tcd_init_decode_tile (tcd.c:1217)
+      n1: 815554560 0x4E4BCF1: opj_j2k_read_tile_header (j2k.c:8597)
+       n1: 815554560 0x4E4C64A: opj_j2k_decode_tiles (j2k.c:10318)
+        n1: 815554560 0x4E4E08E: opj_j2k_decode (j2k.c:7826)
+         n1: 815554560 0x4E52CC2: opj_jp2_decode (jp2.c:1564)
+          n0: 815554560 0x40369E: main (opj_decompress.c:1459)
+     n1: 402672336 0x4E4C545: opj_j2k_decode_tiles (j2k.c:10336)
+      n1: 402672336 0x4E4E08E: opj_j2k_decode (j2k.c:7826)
+       n1: 402672336 0x4E52CC2: opj_jp2_decode (jp2.c:1564)
+        n0: 402672336 0x40369E: main (opj_decompress.c:1459)
+     n0: 53704448 in 58 places, all below massif's threshold (1.00%)
+
+commit bc3cb7410023e9d0c7ff9972a0bc8cf1fe9b32a4
+Author: szukw000 &lt;szukw000@arcor.de&gt;
+Date:   2017-08-07 16:44:28 +0200
+
+    Changes for converttif.c to fix tsize_t
+
+commit 2fbd4bb0b9c6178f12c852dc40db6ab05734bfe2
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-08-04 18:01:29 +0200
+
+    opj_j2k_read_sot(): check current TPSot number regarding previous (non-zero) TNsot to avoid opj_j2k_merge_ppt() to be called several times. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2851. Credit to OSS Fuzz
+
+commit 57e36dbfeb57451444c5c20eab66ab0bedd3d3b3
+Author: szukw000 &lt;szukw000@arcor.de&gt;
+Date:   2017-08-02 17:27:08 +0200
+
+    First change on changes-for-afl-tests
+
+commit 155fc2e279b85bd04709967b2797de4f69b0cf3e
+Author: Antonin Descampe &lt;antonin@gmail.com&gt;
+Date:   2017-08-02 17:07:29 +0200
+
+    Update abi-check to take into account new defaults for "add" git command
+
+commit eb90d8ec935eba934bfd260cc80c8ef445dff4fd
+Author: Antonin Descampe &lt;antonin@gmail.com&gt;
+Date:   2017-08-02 16:50:11 +0200
+
+    WIP: fix abi-check and automatic upload
+
+commit 48125b0d124bc668b971b1f5df5a3c39798cfcf9
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-31 17:35:10 +0200
+
+    src/bin/jpwl/convert.c: add missing fclose() in error code path (suggested by maddin200, #976)
+
+commit 00f45684a8339e69ed55df2397f3c19d09fecaed
+Author: szukw000 &lt;szukw000@arcor.de&gt;
+Date:   2017-07-31 13:58:08 +0200
 
-commit d27ccf01c68a31ad62b33d2dc1ba2bb1eeaafe7b
+    Catch images broken by AFL
+
+commit 13cde9fa37249628af6b6f10601b733f87a025f4
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-26 11:30:56 +0200
+Date:   2017-07-30 19:46:52 +0200
 
-    Avoid division by zero in opj_pi_next_rpcl, opj_pi_next_pcrl and opj_pi_next_cprl (#938)
-    
-    Fixes issues with id:000026,sig:08,src:002419,op:int32,pos:60,val:+32 and
-    id:000019,sig:08,src:001098,op:flip1,pos:49
+    src/lib/openjp2/*.h: use OPJ_ prefix for inclusion guards instead of reserved __ (#587)
 
-commit 39e962a0ca5e53722f6badda8e93681aad412cf1
-Merge: 60f8ddf 90ced71
-Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
-Date:   2017-07-13 13:33:21 +0200
+commit 9a6d41d22b1a4f17a376d2f6f208c52c58b8e4b3
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-30 19:27:01 +0200
 
-    Merge pull request #969 from jeroen/staticlibs
-    
-    install static libraries
+    opj_event_msg(): force zero termination of buffer
 
-commit 90ced71601f05e87b4fa922261554eeeb11118b9
-Author: Jeroen &lt;jeroenooms@gmail.com&gt;
-Date:   2017-07-13 11:34:15 +0200
+commit b716f8616394252724ca0811eab3a20ab42b2189
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-30 19:26:47 +0200
 
-    install static libraries
+    Fix breakage of 22bf99ce0220811bfce1562ee61423cb0245b683
 
-commit 60f8ddf577b20ccbb3dc0559b624115b9ba522ba
+commit 22bf99ce0220811bfce1562ee61423cb0245b683
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-06 12:11:37 +0200
+Date:   2017-07-30 19:07:16 +0200
 
-    Comment fix
+    Test return value of opj_j2k_setup_decoding_tile() (commit https://github.com/uclouvain/openjpeg/pull/561/commits/ec31fa0c7f1ff8979312c07296cba41584c458a0 by  ak-dxdy, #561)
 
-commit a38c4496b631bb5d3f8d5ea42d394544523a9bc6
+commit ffa9a4f6585dc199fb850dee4255e7a7b84aad63
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-05 21:33:42 +0200
+Date:   2017-07-30 18:46:34 +0200
 
-    Remove unused m_DA_x0, m_DA_y0, m_DA_x1, m_DA_y1 members from opj_j2k_dec structure
+    Fix warnings in USE_JPIP compilation mode
 
-commit 1a8eac6a90ca61f3703f9b97afc2ec4918f0ab55
+commit c22cbd8bdf8ff2ae372f94391a4be2d322b36b41
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-03 14:14:03 +0200
+Date:   2017-07-30 18:43:25 +0200
 
-    Add tests/fuzzers for OSS Fuzz (#965)
+    Avoid heap buffer overflow in function pnmtoimage of convert.c, and unsigned integer overflow in opj_image_create() (CVE-2016-9118, #861)
 
-commit c308de39edc1697efbd5c10dc4852a58f9b86558
+commit 83342f2aafcab4599b49f780e35fd249e8402b61
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-03 14:33:57 +0200
+Date:   2017-07-30 18:18:59 +0200
 
-    opj_j2k_read_header_procedure(): validate marker size to avoid excessive memory allocation attempt
+    Fix Doxygen warnings (patch derived from Winfried's doxygen-dif.txt.zip, #849)
 
-commit 5736b1a3683261a5b31fc19a691731dc9fce5920
-Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
-Date:   2017-07-03 12:03:29 +0200
+commit 4748318136626dd9e841ea1aa8b52adfbab26772
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-30 17:26:03 +0200
 
-    Merge pull request #954 from jeroen/static
-    
-    build both shared and static library
+    j2k.c: remove hardcoded constants related to m_state, and useless FIXME
+
+commit e23e0c94d0eb30623bc67be19c38c22ee5378344
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-30 16:48:15 +0200
+
+    Avoid p_stream-&gt;m_user_data_length &gt;= (OPJ_UINT64)p_stream-&gt;m_byte_offset assertion in opj_stream_get_number_byte_left(). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2786. Credit to OSS Fuzz
 
 ...</pre></div>