diff --git a/.mailmap b/.mailmap index a82a2ca4..b4242a8f 100644 --- a/.mailmap +++ b/.mailmap @@ -9,3 +9,4 @@ Vikas Arora Tamar Levy +Hui Su diff --git a/AUTHORS b/AUTHORS index 0f382dab..f64a4449 100644 --- a/AUTHORS +++ b/AUTHORS @@ -2,6 +2,7 @@ Contributors: - Charles Munger (clm at google dot com) - Christian Duvivier (cduvivier at google dot com) - Djordje Pesut (djordje dot pesut at imgtec dot com) +- Hui Su (huisu at google dot com) - James Zern (jzern at google dot com) - Jan Engelhardt (jengelh at medozas dot de) - Johann (johann dot koenig at duck dot com) diff --git a/ChangeLog b/ChangeLog index 99fb3c02..747c5153 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,57 @@ +aa7744c anim_util: quiet implicit conv warnings in 32-bit +d912027 jpegdec: correct ContextFill signature +24eb394 Remove some errors when compiling the code as C++. +a4a8e5f vwebp: clear canvas during resize w/o animation +31ca2a8 tiffdec: restore libtiff 3.9.x compatibility +b2f77b5 update NEWS +5ab6d9d AnimEncoder: avoid freeing uninitialized memory pointer. +f29bf58 WebPAnimEncoder: If 'minimize_size' and 'allow_mixed' on, try lossy + lossless. +df780e0 fix a potential overflow with MALLOC_LIMIT +218460c bump version to 0.5.2 +de7d654 update AUTHORS & .mailmap +74a12b1 iosbuild.sh: add WebPDecoder.framework + encoder +be7dcc0 AnimEncoder: Correctly skip a frame when sub-rectangle is empty. +4088583 Fix assertions in WebPRescalerExportRow() +8f38c72 fix a typo in WebPPictureYUVAToARGB's doc +33ca93f systematically call WebPDemuxReleaseIterator() on dec->prev_iter_ +76e1907 doc: use two's complement explicitly for uint8->int8 conversion +f91ba96 Anim_encoder: correctly handle enc->prev_candidate_undecided_ +25d74e6 WebPPictureDistortion(): free() -> WebPSafeFree() +03f1c00 mux/Makefile.am: add missing -lm +58410cd fix bug in RefineUsingDistortion() +e168af8 fix filtering auto-adjustment +ed9dec4 fix doc and code snippet for WebPINewDecoder() doc +3c49178 prevent 32b overflow for very large canvas_width / height +9595f29 fix anim_util.c compilation when HAVE_GIF is not defined. +7ec9552 Make gif transparent color to be transparent black +9871335 Add a CMake option for WEBP_SWAP_16BIT_CSP. +0ae3222 Fix missing cpu-features for Android. +ab4c805 cpu.cmake: improve webp_check_compiler_flag output +eec5fa3 Provide support for CMake on Android studio 2.2. +004d569 Split the main CMake file. +4fe5d58 Android.mk: use -fvisibility=hidden +bd63a31 vwebp: ensure setenv() is available in stdlib.h +363a568 vwebp: handle window resizing properly +a0d2753 lower WEBP_MAX_ALLOCABLE_MEMORY default +31fe11a fix infinite loop in case of PARTITION0 overflow +532215d Change the rule of picking UV mode in MBAnalyzeBestUVMode() +9c75dbd cwebp.1: improve some grammar +af2e05c vwebp: Clear previous frame when a key triggers a redraw +26ffa29 Add descriptions of default configuration in help info. +7416280 Fix an unsigned integer overflow error in enc/cost.h +13cf1d2 Do token recording and counting in a single loop +eb9a4b9 Reset segment id if we decide not to update segment map +42ebe3b configure: fix NEON flag detection under gcc 6 +83cbfa0 Import: use relative pointer offsets +a1ade40 PreprocessARGB: use relative pointer offsets +fd4d090 ConvertWRGBToYUV: use relative pointer offsets +9daad45 ImportYUVAFromRGBA: use relative pointer offsets +c284780 imageio_util: add ImgIoUtilCheckSizeArgumentsOverflow +e375080 gifdec,Remap: avoid out of bounds colormap read +c222a05 additional fix for stride type as size_t +bb23361 fix potential overflow when width * height * 4 >= (1<<32) +883d41f gif2webp: fix crash with NULL extension data +3d97bb7 update ChangeLog (tag: v0.5.1, origin/0.5.1, 0.5.1) deb54d9 Clarify the expected 'config' lifespan in WebPIDecode() c7e2d24 update ChangeLog (tag: v0.5.1-rc5) c7eb06f Fix corner case in CostManagerInit. diff --git a/NEWS b/NEWS index 30554bf6..0695c3c6 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,16 @@ +- 12/13/2016: version 0.5.2 + This is a binary compatible release. + This release covers CVE-2016-8888 and CVE-2016-9085. + * further security related hardening in the tools; fixes to + gif2webp/AnimEncoder (issues #310, #314, #316, #322), cwebp/libwebp (issue + #312) + * full libwebp (encoder & decoder) iOS framework; libwebpdecoder + WebP.framework renamed to WebPDecoder.framework (issue #307) + * CMake support for Android Studio (2.2) + * miscellaneous build related fixes (issue #306, #313) + * miscellaneous documentation improvements (issue #225) + * minor lossy encoder fixes and improvements + - 6/14/2016: version 0.5.1 This is a binary compatible release. * miscellaneous bug fixes (issues #280, #289) diff --git a/README b/README index ac6b9a11..400d23ab 100644 --- a/README +++ b/README @@ -4,7 +4,7 @@ \__\__/\____/\_____/__/ ____ ___ / _/ / \ \ / _ \/ _/ / \_/ / / \ \ __/ \__ - \____/____/\_____/_____/____/v0.5.1 + \____/____/\_____/_____/____/v0.5.2 Description: ============ diff --git a/README.mux b/README.mux index 3c477e1d..d3e4640b 100644 --- a/README.mux +++ b/README.mux @@ -1,7 +1,7 @@  __ __ ____ ____ ____ __ __ _ __ __ / \\/ \/ _ \/ _ \/ _ \/ \ \/ \___/_ / _\ \ / __/ _ \ __/ / / (_/ /__ - \__\__/\_____/_____/__/ \__//_/\_____/__/___/v0.3.1 + \__\__/\_____/_____/__/ \__//_/\_____/__/___/v0.3.2 Description: diff --git a/configure.ac b/configure.ac index 3566996c..400bdc12 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([libwebp], [0.5.1], +AC_INIT([libwebp], [0.5.2], [https://bugs.chromium.org/p/webp],, [http://developers.google.com/speed/webp]) AC_CANONICAL_HOST diff --git a/imageio/tiffdec.c b/imageio/tiffdec.c index 7588e688..46e69dc6 100644 --- a/imageio/tiffdec.c +++ b/imageio/tiffdec.c @@ -156,9 +156,9 @@ int ReadTIFF(const uint8_t* const data, size_t data_size, } // _Tiffmalloc uses a signed type for size. alloc_size = (int64_t)((uint64_t)width * height * sizeof(*raster)); - if (alloc_size < 0 || alloc_size != (tmsize_t)alloc_size) goto End; + if (alloc_size < 0 || alloc_size != (tsize_t)alloc_size) goto End; - raster = (uint32*)_TIFFmalloc((tmsize_t)alloc_size); + raster = (uint32*)_TIFFmalloc((tsize_t)alloc_size); if (raster != NULL) { if (TIFFReadRGBAImageOriented(tif, width, height, raster, ORIENTATION_TOPLEFT, 1)) { diff --git a/src/Makefile.am b/src/Makefile.am index e0cff0c0..88b0621a 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -35,7 +35,7 @@ libwebp_la_LIBADD += utils/libwebputils.la # other than the ones listed on the command line, i.e., after linking, it will # not have unresolved symbols. Some platforms (Windows among them) require all # symbols in shared libraries to be resolved at library creation. -libwebp_la_LDFLAGS = -no-undefined -version-info 6:1:0 +libwebp_la_LDFLAGS = -no-undefined -version-info 6:2:0 libwebpincludedir = $(includedir)/webp pkgconfig_DATA = libwebp.pc @@ -47,7 +47,7 @@ if BUILD_LIBWEBPDECODER libwebpdecoder_la_LIBADD += dsp/libwebpdspdecode.la libwebpdecoder_la_LIBADD += utils/libwebputilsdecode.la - libwebpdecoder_la_LDFLAGS = -no-undefined -version-info 2:1:0 + libwebpdecoder_la_LDFLAGS = -no-undefined -version-info 2:2:0 pkgconfig_DATA += libwebpdecoder.pc endif diff --git a/src/dec/vp8i.h b/src/dec/vp8i.h index 00da02ba..313d8a7b 100644 --- a/src/dec/vp8i.h +++ b/src/dec/vp8i.h @@ -32,7 +32,7 @@ extern "C" { // version numbers #define DEC_MAJ_VERSION 0 #define DEC_MIN_VERSION 5 -#define DEC_REV_VERSION 1 +#define DEC_REV_VERSION 2 // YUV-cache parameters. Cache is 32-bytes wide (= one cacheline). // Constraints are: We need to store one 16x16 block of luma samples (y), diff --git a/src/demux/Makefile.am b/src/demux/Makefile.am index d7ce525f..98840c26 100644 --- a/src/demux/Makefile.am +++ b/src/demux/Makefile.am @@ -9,6 +9,6 @@ libwebpdemuxinclude_HEADERS += ../webp/mux_types.h libwebpdemuxinclude_HEADERS += ../webp/types.h libwebpdemux_la_LIBADD = ../libwebp.la -libwebpdemux_la_LDFLAGS = -no-undefined -version-info 2:0:0 +libwebpdemux_la_LDFLAGS = -no-undefined -version-info 2:1:0 libwebpdemuxincludedir = $(includedir)/webp pkgconfig_DATA = libwebpdemux.pc diff --git a/src/demux/demux.c b/src/demux/demux.c index 67152542..4b9f0dd9 100644 --- a/src/demux/demux.c +++ b/src/demux/demux.c @@ -25,7 +25,7 @@ #define DMUX_MAJ_VERSION 0 #define DMUX_MIN_VERSION 3 -#define DMUX_REV_VERSION 0 +#define DMUX_REV_VERSION 1 typedef struct { size_t start_; // start location of the data diff --git a/src/enc/vp8enci.h b/src/enc/vp8enci.h index 00c9d0c0..8a30a2b1 100644 --- a/src/enc/vp8enci.h +++ b/src/enc/vp8enci.h @@ -32,7 +32,7 @@ extern "C" { // version numbers #define ENC_MAJ_VERSION 0 #define ENC_MIN_VERSION 5 -#define ENC_REV_VERSION 1 +#define ENC_REV_VERSION 2 enum { MAX_LF_LEVELS = 64, // Maximum loop filter level MAX_VARIABLE_LEVEL = 67, // last (inclusive) level with variable cost diff --git a/src/mux/Makefile.am b/src/mux/Makefile.am index 565565bb..c32a283f 100644 --- a/src/mux/Makefile.am +++ b/src/mux/Makefile.am @@ -14,6 +14,6 @@ libwebpmuxinclude_HEADERS += ../webp/mux_types.h libwebpmuxinclude_HEADERS += ../webp/types.h libwebpmux_la_LIBADD = ../libwebp.la -libwebpmux_la_LDFLAGS = -no-undefined -version-info 2:1:0 -lm +libwebpmux_la_LDFLAGS = -no-undefined -version-info 2:2:0 -lm libwebpmuxincludedir = $(includedir)/webp pkgconfig_DATA = libwebpmux.pc diff --git a/src/mux/muxi.h b/src/mux/muxi.h index 06c290dd..2628e585 100644 --- a/src/mux/muxi.h +++ b/src/mux/muxi.h @@ -28,7 +28,7 @@ extern "C" { #define MUX_MAJ_VERSION 0 #define MUX_MIN_VERSION 3 -#define MUX_REV_VERSION 1 +#define MUX_REV_VERSION 2 // Chunk object. typedef struct WebPChunk WebPChunk;