Mirror only. Please do not send pull requests. See https://chromium.googlesource.com/webm/libwebp/+/HEAD/CONTRIBUTING.md.
Go to file
Vincent Rabaud a36ce6e442 [M108-LTS] Fix OOB write in BuildHuffmanTable.
M108 merge issues:
  dec/vp8l_dec.c:
    - Conflicting checks before ReadHuffmanCodeLengths() return statement;
    In 114, an assignment follows the check instead of a return.
    - ReadHuffmanCodes(): Conflict after the changed huffman_tables check,
    there's an assignment in 114 instead of the setter call.

First, BuildHuffmanTable is called to check if the data is valid.
If it is and the table is not big enough, more memory is allocated.

This will make sure that valid (but unoptimized because of unbalanced
codes) streams are still decodable.

Bug: chromium:1479274
Change-Id: I31c36dbf3aa78d35ecf38706b50464fd3d375741
(cherry picked from commit 902bc91903)
2023-09-12 09:30:11 +00:00
cmake WEBP_DEP_LIBRARIES: use Threads::Threads 2022-05-31 17:09:09 -05:00
doc webp-lossless-bitstream-spec,cosmetics: normalize capitalization 2022-07-20 10:36:23 -07:00
examples vwebp: fix file name display in windows unicode build 2022-07-05 12:59:06 -07:00
extras bump version to 1.2.3 2022-06-30 19:30:31 -07:00
gradle/wrapper update gradle to 6.1.1 2021-01-02 15:51:55 -08:00
imageio tiffdec: add grayscale support 2022-03-31 21:43:29 -07:00
infra run_static_analysis.sh: fix scan-build archive path 2022-06-13 16:17:42 -07:00
m4 autoconf: update ax_pthread.m4 2013-12-29 11:56:21 -05:00
man man/cwebp.1: add note about crop/resize order 2022-03-17 16:08:34 -07:00
sharpyuv libsharpyuv: add version defines 2022-06-28 11:08:14 +02:00
src [M108-LTS] Fix OOB write in BuildHuffmanTable. 2023-09-12 09:30:11 +00:00
swig Markdownify libwebp docs and reorganize them. 2022-02-15 15:31:56 +00:00
tests Markdownify libwebp docs and reorganize them. 2022-02-15 15:31:56 +00:00
webp_js Markdownify libwebp docs and reorganize them. 2022-02-15 15:31:56 +00:00
.gitattributes update gradle to 6.1.1 2021-01-02 15:51:55 -08:00
.gitignore .gitignore: add Android Studio & VS code dirs 2022-04-04 10:28:06 -07:00
.mailmap update .mailmap 2022-06-30 19:29:53 -07:00
.pylintrc presubmit: Add pylint-2.7 and .pylintrc 2021-10-12 01:01:14 +00:00
.style.yapf Reformat docstrings and imports 2021-10-04 23:42:35 +00:00
Android.mk sharpyuv: increase precision of gamma<->linear conversion 2022-06-01 15:38:44 +02:00
AUTHORS update AUTHORS 2022-06-30 19:30:27 -07:00
autogen.sh build: just use autoreconf, avoid calling tools manually 2011-03-26 09:50:31 -07:00
build.gradle sharpyuv: increase precision of gamma<->linear conversion 2022-06-01 15:38:44 +02:00
ChangeLog update ChangeLog 2022-07-15 12:48:16 -07:00
CMakeLists.txt Add -fvisibility=hidden flag in CMakeLists. 2022-06-15 10:03:03 +02:00
codereview.settings add codereview.settings 2018-11-07 19:12:35 -08:00
configure.ac bump version to 1.2.3 2022-06-30 19:30:31 -07:00
CONTRIBUTING.md add CONTRIBUTING.md 2021-04-23 18:35:44 -07:00
COPYING Initial commit 2010-09-30 09:55:07 -04:00
gradle.properties Add gradle support 2016-05-24 15:35:20 +02:00
gradlew update gradle to 6.1.1 2021-01-02 15:51:55 -08:00
gradlew.bat update gradle to 6.1.1 2021-01-02 15:51:55 -08:00
iosbuild.sh fix ios build scripts after sharpyuv dep added 2022-03-08 19:52:45 -08:00
Makefile.am Make libwebp depend on libsharpyuv. 2022-03-04 11:35:03 +01:00
makefile.unix makefile.unix: add sharpyuv objects to clean target 2022-07-05 10:41:14 -07:00
Makefile.vc sharpyuv: increase precision of gamma<->linear conversion 2022-06-01 15:38:44 +02:00
NEWS update NEWS 2022-06-30 19:30:31 -07:00
PATENTS fix typo: constitutes -> constitute 2015-04-18 08:46:53 -07:00
PRESUBMIT.py patch-check: detect duplicated files 2021-12-17 00:25:43 +00:00
README.md bump version to 1.2.3 2022-06-30 19:30:31 -07:00
xcframeworkbuild.sh fix ios build scripts after sharpyuv dep added 2022-03-08 19:52:45 -08:00

WebP Codec

      __   __  ____  ____  ____
     /  \\/  \/  _ \/  _ )/  _ \
     \       /   __/  _  \   __/
      \__\__/\____/\_____/__/ ____  ___
            / _/ /    \    \ /  _ \/ _/
           /  \_/   / /   \ \   __/  \__
           \____/____/\_____/_____/____/v1.2.3

WebP codec is a library to encode and decode images in WebP format. This package contains the library that can be used in other programs to add WebP support, as well as the command line tools 'cwebp' and 'dwebp' to compress and decompress images respectively.

See https://developers.google.com/speed/webp for details on the image format.

The latest source tree is available at https://chromium.googlesource.com/webm/libwebp

It is released under the same license as the WebM project. See https://www.webmproject.org/license/software/ or the "COPYING" file for details. An additional intellectual property rights grant can be found in the file PATENTS.

Building

See the building documentation.

Encoding and Decoding Tools

The examples/ directory contains tools to encode and decode images and animations, view information about WebP images, and more. See the tools documentation.

APIs

See the APIs documentation, and API usage examples in the examples/ directory.

Bugs

Please report all bugs to the issue tracker: https://bugs.chromium.org/p/webp

Patches welcome! See how to contribute.

Discuss

Email: webp-discuss@webmproject.org

Web: https://groups.google.com/a/webmproject.org/group/webp-discuss