Skip to content

Commit bab9c3c

Browse files
committed
Update libpng to 1.6.47
1 parent 06920a4 commit bab9c3c

28 files changed

+2943
-3132
lines changed

vendor/libpng/ANNOUNCE

Lines changed: 15 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
libpng 1.6.43 - February 23, 2024
1+
libpng 1.6.47 - February 18, 2025
22
=================================
33

44
This is a public release of libpng, intended for use in production code.
@@ -9,13 +9,13 @@ Files available for download
99

1010
Source files with LF line endings (for Unix/Linux):
1111

12-
* libpng-1.6.43.tar.xz (LZMA-compressed, recommended)
13-
* libpng-1.6.43.tar.gz (deflate-compressed)
12+
* libpng-1.6.47.tar.xz (LZMA-compressed, recommended)
13+
* libpng-1.6.47.tar.gz (deflate-compressed)
1414

1515
Source files with CRLF line endings (for Windows):
1616

17-
* lpng1643.7z (LZMA-compressed, recommended)
18-
* lpng1643.zip (deflate-compressed)
17+
* lpng1647.7z (LZMA-compressed, recommended)
18+
* lpng1647.zip (deflate-compressed)
1919

2020
Other information:
2121

@@ -25,36 +25,19 @@ Other information:
2525
* TRADEMARK.md
2626

2727

28-
Changes from version 1.6.42 to version 1.6.43
28+
Changes from version 1.6.46 to version 1.6.47
2929
---------------------------------------------
3030

31-
* Fixed the row width check in png_check_IHDR().
32-
This corrected a bug that was specific to the 16-bit platforms,
33-
and removed a spurious compiler warning from the 64-bit builds.
34-
(Reported by Jacek Caban; fixed by John Bowler)
35-
* Added eXIf chunk support to the push-mode reader in pngpread.c.
36-
(Contributed by Chris Blume)
37-
* Added contrib/pngexif for the benefit of the users who would like
38-
to inspect the content of eXIf chunks.
39-
* Added contrib/conftest/basic.dfa, a basic build-time configuration.
31+
* Modified the behaviour of colorspace chunks in order to adhere
32+
to the new precedence rules formulated in the latest draft of
33+
the PNG Specification.
4034
(Contributed by John Bowler)
41-
* Fixed a preprocessor condition in pngread.c that broke build-time
42-
configurations like contrib/conftest/pngcp.dfa.
43-
(Contributed by John Bowler)
44-
* Added CMake build support for LoongArch LSX.
45-
(Contributed by GuXiWei)
46-
* Fixed a CMake build error that occurred under a peculiar state of the
47-
dependency tree. This was a regression introduced in libpng-1.6.41.
48-
(Contributed by Dan Rosser)
49-
* Marked the installed libpng headers as system headers in CMake.
50-
(Contributed by Benjamin Buch)
51-
* Updated the build support for RISCOS.
52-
(Contributed by Cameron Cawley)
53-
* Updated the makefiles to allow cross-platform builds to initialize
54-
conventional make variables like AR and ARFLAGS.
55-
* Added various improvements to the CI scripts in areas like version
56-
consistency verification and text linting.
57-
* Added version consistency verification to pngtest.c also.
35+
* Fixed a latent bug in `png_write_iCCP`.
36+
This would have been a read-beyond-end-of-malloc vulnerability,
37+
introduced early in the libpng-1.6.0 development, yet (fortunately!)
38+
it was inaccessible before the above-mentioned modification of the
39+
colorspace precedence rules, due to pre-existing colorspace checks.
40+
(Reported by Bob Friesenhahn; fixed by John Bowler)
5841

5942

6043
Send comments/corrections/commendations to png-mng-implement at lists.sf.net.

vendor/libpng/AUTHORS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Authors, for copyright and licensing purposes.
1717
* James Yu
1818
* John Bowler
1919
* Kevin Bracey
20+
* Lucas Chollet
2021
* Magnus Holmgren
2122
* Mandar Sahastrabuddhe
2223
* Mans Rullgard

vendor/libpng/CHANGES

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6196,6 +6196,61 @@ Version 1.6.43 [February 23, 2024]
61966196
consistency verification and text linting.
61976197
Added version consistency verification to pngtest.c also.
61986198

6199+
Version 1.6.44 [September 12, 2024]
6200+
Hardened calculations in chroma handling to prevent overflows, and
6201+
relaxed a constraint in cHRM validation to accomodate the standard
6202+
ACES AP1 set of color primaries.
6203+
(Contributed by John Bowler)
6204+
Removed the ASM implementation of ARM Neon optimizations and updated
6205+
the build accordingly. Only the remaining C implementation shall be
6206+
used from now on, thus ensuring the support of the PAC/BTI security
6207+
features on ARM64.
6208+
(Contributed by Ross Burton and John Bowler)
6209+
Fixed the pickup of the PNG_HARDWARE_OPTIMIZATIONS option in the
6210+
CMake build on FreeBSD/amd64. This is an important performance fix
6211+
on this platform.
6212+
Applied various fixes and improvements to the CMake build.
6213+
(Contributed by Eric Riff, Benjamin Buch and Erik Scholz)
6214+
Added fuzzing targets for the simplified read API.
6215+
(Contributed by Mikhail Khachayants)
6216+
Fixed a build error involving pngtest.c under a custom config.
6217+
This was a regression introduced in a code cleanup in libpng-1.6.43.
6218+
(Contributed by Ben Wagner)
6219+
Fixed and improved the config files for AppVeyor CI and Travis CI.
6220+
6221+
Version 1.6.45 [January 7, 2025]
6222+
Added support for the cICP chunk.
6223+
(Contributed by Lucas Chollet and John Bowler)
6224+
Adjusted and improved various checks in colorspace calculations.
6225+
(Contributed by John Bowler)
6226+
Rearranged the write order of colorspace chunks for better conformance
6227+
with the PNG v3 draft specification.
6228+
(Contributed by John Bowler)
6229+
Raised the minimum required CMake version from 3.6 to 3.14.
6230+
Forked off a development branch for libpng version 1.8.
6231+
6232+
Version 1.6.46 [January 23, 2025]
6233+
Added support for the mDCV and cLLI chunks.
6234+
(Contributed by John Bowler)
6235+
Fixed a build issue affecting C89 compilers.
6236+
This was a regression introduced in libpng-1.6.45.
6237+
(Contributed by John Bowler)
6238+
Added makefile.c89, specifically for testing C89 compilers.
6239+
Cleaned up contrib/pngminus: corrected an old typo, removed an old
6240+
workaround, and updated the CMake file.
6241+
6242+
Version 1.6.47 [February 18, 2025]
6243+
Modified the behaviour of colorspace chunks in order to adhere
6244+
to the new precedence rules formulated in the latest draft of
6245+
the PNG Specification.
6246+
(Contributed by John Bowler)
6247+
Fixed a latent bug in `png_write_iCCP`.
6248+
This would have been a read-beyond-end-of-malloc vulnerability,
6249+
introduced early in the libpng-1.6.0 development, yet (fortunately!)
6250+
it was inaccessible before the above-mentioned modification of the
6251+
colorspace precedence rules, due to pre-existing colorspace checks.
6252+
(Reported by Bob Friesenhahn; fixed by John Bowler)
6253+
61996254
Send comments/corrections/commendations to png-mng-implement at lists.sf.net.
62006255
Subscription is required; visit
62016256
https://lists.sourceforge.net/lists/listinfo/png-mng-implement

vendor/libpng/LICENSE

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE
44
PNG Reference Library License version 2
55
---------------------------------------
66

7-
* Copyright (c) 1995-2024 The PNG Reference Library Authors.
8-
* Copyright (c) 2018-2024 Cosmin Truta.
7+
* Copyright (c) 1995-2025 The PNG Reference Library Authors.
8+
* Copyright (c) 2018-2025 Cosmin Truta.
99
* Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson.
1010
* Copyright (c) 1996-1997 Andreas Dilger.
1111
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.

vendor/libpng/README

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
README for libpng version 1.6.43
1+
README for libpng version 1.6.47
22
================================
33

44
See the note about version numbers near the top of `png.h`.
@@ -157,8 +157,6 @@ Files included in this distribution
157157
"PNG: The Definitive Guide" by Greg Roelofs,
158158
O'Reilly, 1999
159159
libtests/ => Test programs
160-
oss-fuzz/ => Files used by the OSS-Fuzz project for fuzz-testing
161-
libpng
162160
pngexif/ => Program to inspect the EXIF information in PNG files
163161
pngminim/ => Minimal decoder, encoder, and progressive decoder
164162
programs demonstrating the use of pngusr.dfa

vendor/libpng/example.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
#if 0 /* in case someone actually tries to compile this */
32

43
/* example.c - an example of using libpng

0 commit comments

Comments
 (0)