ABI
Tracker

(OpenJPEG)




Changelog from Git



commit 0eceb4494c23d141ddf242209b92f07bc942b437
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-08-09 09:50:39 +0200

    src/bin/jpwl/convert.c pgxtoimage(): add missing fclose() (#977)

commit 5a560ebf5138ebc241e9962306ce74bfc50fc69c
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-08-09 09:42:30 +0200

    imagetobmp: avoid shift by -1 (relates to #811)

commit 0c07950cb3f318df5b2051ae5d96bef553bb9966
Author: Antonin Descampe <antonin@gmail.com>
Date:   2017-08-08 18:05:37 -0700

    Fix remaining warning
    
    format specifier mismatch in #975

commit 0394f8d0f1c981e0bc587beddc14d1fb0b265b1b
Merge: 3b1b067 bc3cb74
Author: Antonin Descampe <antonin@descampe.net>
Date:   2017-08-08 16:51:54 -0700

    Merge pull request #975 from szukw000/changes-for-afl-tests
    
    Catch images broken by AFL

commit 3b1b0672663b59853b63d48f94b63ca497883527
Merge: 2fbd4bb 9211469
Author: Even Rouault <even.rouault@mines-paris.org>
Date:   2017-08-07 20:17:36 +0200

    Merge pull request #968 from rouault/reduce_memory_decoding
    
    Reduce memory decoding

commit 92114694a48638e86c07e4adf11b78878045c8a9
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-06 19:34:21 +0200

    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 <even.rouault@spatialys.com>
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 373520db309430b68dd9ff09cba03a25f711a88e
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-06 13:23:29 +0200

    Add documentation for magic values in the code

commit 434ace4ff74cc3eee401d4d3c02668c1d85f2a0d
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-06 02:17:26 +0200

    opj_jp2_apply_pclr() also needs to use opj_image_data_alloc/opj_image_data_free

commit 0c1fc0593ef5b918068709fd74d76e4824c90e7c
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-06 02:02:25 +0200

    Complementary fix to previous commit

commit f58aab9d6a57e48bdc60e15dd373c24de74719a9
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-06 01:47:40 +0200

    Add opj_image_data_alloc() / opj_image_data_free()
    
    As bin/common/color.c used to directly call malloc()/free(), we need
    to export functions dedicated to allocating/freeing image component data.

commit 61fb5dd7f81c2e3dfabbb99f59dc89572d59fa37
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-06 01:05:24 +0200

    Fix crash on Windows due to b7594c0fcb9dd3aa6356d72c4a525d76168da689
    
    b7594c0fcb9dd3aa6356d72c4a525d76168da689 may put opj_tcd_tilecomp_t->data
    allocated by opj_alloc_tile_component_data() as the image->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->comps[].data.
    
    Note: this might have some compatibility impact in case user code does itself
    the allocation/free of image->comps[].data

commit 793edc38e41700e9b4cda4b7f9c79aba95b8d989
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-05 23:48:28 +0200

    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)
    
    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) <-- 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) <-- 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) <-- 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) <-- 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 <szukw000@arcor.de>
Date:   2017-08-07 16:44:28 +0200

    Changes for converttif.c to fix tsize_t

commit 2fbd4bb0b9c6178f12c852dc40db6ab05734bfe2
Author: Even Rouault <even.rouault@spatialys.com>
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 <szukw000@arcor.de>
Date:   2017-08-02 17:27:08 +0200

    First change on changes-for-afl-tests

commit 155fc2e279b85bd04709967b2797de4f69b0cf3e
Author: Antonin Descampe <antonin@gmail.com>
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 <antonin@gmail.com>
Date:   2017-08-02 16:50:11 +0200

    WIP: fix abi-check and automatic upload

commit 48125b0d124bc668b971b1f5df5a3c39798cfcf9
Author: Even Rouault <even.rouault@spatialys.com>
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 <szukw000@arcor.de>
Date:   2017-07-31 13:58:08 +0200

    Catch images broken by AFL

commit 13cde9fa37249628af6b6f10601b733f87a025f4
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-30 19:46:52 +0200

    src/lib/openjp2/*.h: use OPJ_ prefix for inclusion guards instead of reserved __ (#587)

commit 9a6d41d22b1a4f17a376d2f6f208c52c58b8e4b3
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-30 19:27:01 +0200

    opj_event_msg(): force zero termination of buffer

commit b716f8616394252724ca0811eab3a20ab42b2189
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-30 19:26:47 +0200

    Fix breakage of 22bf99ce0220811bfce1562ee61423cb0245b683

commit 22bf99ce0220811bfce1562ee61423cb0245b683
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-30 19:07:16 +0200

    Test return value of opj_j2k_setup_decoding_tile() (commit https://github.com/uclouvain/openjpeg/pull/561/commits/ec31fa0c7f1ff8979312c07296cba41584c458a0 by  ak-dxdy, #561)

commit ffa9a4f6585dc199fb850dee4255e7a7b84aad63
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-30 18:46:34 +0200

    Fix warnings in USE_JPIP compilation mode

commit c22cbd8bdf8ff2ae372f94391a4be2d322b36b41
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-30 18:43:25 +0200

    Avoid heap buffer overflow in function pnmtoimage of convert.c, and unsigned integer overflow in opj_image_create() (CVE-2016-9118, #861)

commit 83342f2aafcab4599b49f780e35fd249e8402b61
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-30 18:18:59 +0200

    Fix Doxygen warnings (patch derived from Winfried's doxygen-dif.txt.zip, #849)

commit 4748318136626dd9e841ea1aa8b52adfbab26772
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-30 17:26:03 +0200

    j2k.c: remove hardcoded constants related to m_state, and useless FIXME

commit e23e0c94d0eb30623bc67be19c38c22ee5378344
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-30 16:48:15 +0200

    Avoid p_stream->m_user_data_length >= (OPJ_UINT64)p_stream->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

commit 1ed8d67797ef57143e2c855b602016bf9d89337d
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-30 15:35:47 +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

commit 68832af20e3b3710424947e12762b6b52d3b6ac0
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-30 15:22:24 +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

commit 517bf6fd86dae18b62390a03533d30da0e5bb701
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-29 21:11:23 +0200

    src/bin/jpwl/convert.c: fix memleak (fix suggested by maddin200, #631)

commit 51eb86d8f7a6297a4f0e8ca44977b72532de0353
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-29 19:43:23 +0200

    Fix warnings in pi.c raised by VS11 analyze (#190)

commit 397f62c0a838e15d667ef50e27d5d011d2c79c04
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-29 19:13:49 +0200

    Fix write heap buffer overflow in opj_mqc_byteout(). Discovered by Ke Liu of Tencent's Xuanwu LAB (#835)

commit 11445eddad7e7fa5b273d1c83c91011c44e5d586
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-29 19:03:13 +0200

    opj_pi_update_decode_poc(): limit layno1 to the number of layers (CVE-2016-1626 and CVE-2016-1628, #850)
    
    This has been recently fixed in a less elegant way per
    80818c39f5bfbac37768fcee95b0ffeceaa77264

commit 3fbe71369019df0b47c7a2be4fab8c05768f2f32
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-29 18:38:16 +0200

    opj_tcd_get_decoded_tile_size(): fix potential UINT32 overflow (#854, CVE-2016-5152)
    
    Fix derived from https://pdfium.googlesource.com/pdfium.git/+/d8cc503575463ff3d81b22dad292665f2c88911e/third_party/libopenjpeg20/0018-tcd_get_decoded_tile_size.patch

commit 5a3e7aaf339943bc988adbada39a1fc8f5046899
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-29 17:56:12 +0200

    color_cielab_to_rgb(): reject images with components of different dimensions to void read heap buffer overflow (#909)

commit 784d4d47e97b5d0fccccbd931349997a0e2074cc
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-29 17:51:10 +0200

    Fix breakage of 2fa0fc61f2d546c8b67e7c5a9cbc61d98e1f7af0 (#970)

commit 2fa0fc61f2d546c8b67e7c5a9cbc61d98e1f7af0
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-29 17:28:55 +0200

    imagetopnm(): make sure the alpha component has same dimension as other components to avoid read heap buffer overflow (#970)

commit db9ef99f6dd054a84fa8382c02869fb0656abfc8
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-29 16:34:35 +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

commit f6551f822fe020843299bd807ec6989abd070b2c
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-29 16:29:11 +0200

    opj_t1_clbl_decode_processor(): avoid undefined behaviour if roishift >= 31. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2506. Credit to OSS Fuzz

commit 9906fbf737692486cebabe98169988d818e2e66a
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-29 16:22:36 +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

commit 71b4f5b124d14ed609763b11e19d2d480bc32f58
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-29 15:52:11 +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

commit d6654d906c1ae66590b6d600458a91f1ee923de5
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-28 22:15:47 +0200

    opj_int_ceildiv(): fix int32 overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2494. Credit to OSS Fuzz

commit 361c4506fdfb9b6f0e41d86d5d0ea1efb5704ecf
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-28 22:06:26 +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

commit 7bdbe490cba9990916f94a40379cc787434340ff
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-28 21:55:22 +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

commit 16aeb9282f6b3877aa8365c461ba8d3d1338adae
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-28 21:39:30 +0200

    Fix null pointer dereference in opj_j2k_add_mct() (#895)
    
    Fixes openjeg-crashes-2017-07-27/issue879-poc1.j2k of #895

commit c5bf5ef4d6552e9159aaad29cb27826acd1a3389
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-28 21:29:55 +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

commit e03e9474667e5117341351699f0b1dbb06f93346
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-27 22:29:17 +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

commit 820fcfe8bb101a2862c076b02c9b6b636ce39d2f
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-27 19:34:54 +0200

    opj_j2k_update_image_data / opj_tcd_update_tile_data: fix unaligned load/store (#895)
    
    When components don't have the same width, unaligned load/store are possible.
    
    Fixes openjeg-crashes-2017-07-27/id:000000,sig:11,src:001342,op:flip4,pos:162.jp2 of #895

commit 6c4e5bacb9d9791fc6ff074bd7958b3820d70514
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-27 19:22:14 +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

commit 178194c093422c9564efc41f9ecb5c630b43f723
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-27 18:51:51 +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

commit d6fa30099797c68c6a67decf58571dd59dbf734b
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-26 23:25:38 +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

commit a88cbb6a0b3539461dfb29922102953b7a7fc3a7
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-26 22:53:59 +0200

    Fix various undefined shift behaviour in pi.c
    
    Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2496
    Credit to OSS Fuzz

commit 6c5fe9407b7768eb2ac55b83511bc103551d207a
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-26 22:22:44 +0200

    Avoid potential undefined shift behaviour in opj_bio_read() from opj_t2_read_packet_header()
    
    Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2485
    Credit to OSS Fuzz

commit dbf527bf2a53bc88e6cf1373991002ec0e8e22a1
Merge: 5e795d9 94c4b73
Author: Even Rouault <even.rouault@mines-paris.org>
Date:   2017-07-26 22:05:32 +0200

    Merge pull request #800 from rouault/tier1_optimizations_multithreading_pterm_check
    
    Implement predictive termination check

commit 94c4b7300cc515330bf798bb45eb0d68e2c84aa0
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-26 21:39:50 +0200

    T1 decoder: check code stream errors when predictable termination is enabled and emit a warning when errors are found

commit 5e795d90a1e47616e0c7a2e39381c13ccf7fd6dd
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-26 21:06:38 +0200

    Spelling fixes (patch by ka7, #890, rebased on top of master)

commit 2be20ce7d9996e960d79f3ad6ec439a9895849ed
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-26 21:04:01 +0200

    Reformat src/bin/wx/OPJViewer/source/OPJThreads.cpp src/bin/wx/OPJViewer/source/imagjpeg2000.cpp wrapping/java/openjp2/JavaOpenJPEG.c

commit 94cc97c58acfa574e734fac5eb673c516c0ac469
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-26 20:13:09 +0200

    opj_decompress: fix null pointer dereference on comps[].data on id_000167,sig_11,src_006079,op_havoc,rep_4 (#939)

commit 8d2e69e37d01bf6a0440d3109d92235c3c586ffe
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-26 19:49:38 +0200

    Fix assertion / memory leak in opj_j2k_merge_ppt() on corrupted images (#939)
    
    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.

commit 5c5319984b81e2aa32d1d83abdef0cdb8dbe7b18
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-26 18:05:56 +0200

    Avoid division by zero in opj_pi_next_rpcl, opj_pi_next_pcrl, opj_pi_next_cprl (#938)
    
    Fixes crash on id_000004,sig_06,src_000679,op_arith8,pos_49,val_-17

commit 80818c39f5bfbac37768fcee95b0ffeceaa77264
Author: Even Rouault <even.rouault@spatialys.com>
Date:   2017-07-26 12:24:26 +0200

    Avoid index out of bounds access to pi->include[] (#938)
    
    Fix id:000098,sig:11,src:005411,op:havoc,rep:2 test case

...