Closed Bug 1801583 Opened 1 year ago Closed 1 year ago

Update libpng to new version v1.6.39 from 2022-11-20 23:53:23

Categories

(Core :: Graphics: ImageLib, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
109 Branch
Tracking Status
firefox109 --- fixed

People

(Reporter: update-bot, Assigned: aosmond)

References

Details

(Whiteboard: [3pl-filed][task_id: RTR2d_xmRNOqI6-XxVLgMg])

Attachments

(1 file)

This update covers 105 commits:


07b8803110da160b158ebfef872627da6c85cbdf by Cosmin Truta

https://github.com/glennrp/libpng/commit/07b8803110da160b158ebfef872627da6c85cbdf
Authored: 2022-11-20 23:53:23 +0200
Committed: 2022-11-20 23:53:23 +0200

Release libpng version 1.6.39

Files Modified:

  • ANNOUNCE
  • CHANGES
  • CMakeLists.txt
  • README
  • configure
  • configure.ac
  • libpng-manual.txt
  • libpng.3
  • libpngpf.3
  • png.c
  • png.h
  • pngconf.h
  • pngtest.c
  • scripts/libpng-config-head.in
  • scripts/libpng.pc.in
  • scripts/pnglibconf.h.prebuilt

32f465a66b2a81057f42c62ae7124e47d6a1cfc8 by Cosmin Truta

https://github.com/glennrp/libpng/commit/32f465a66b2a81057f42c62ae7124e47d6a1cfc8
Authored: 2022-11-20 23:53:23 +0200
Committed: 2022-11-20 23:53:23 +0200

Update the file list in README

Files Modified:

  • README

074e2eaab0e2f200d6441c4e37bd8d682d1548d8 by Paul Eggert

https://github.com/glennrp/libpng/commit/074e2eaab0e2f200d6441c4e37bd8d682d1548d8
Authored: 2022-11-17 09:03:06 -0800
Committed: 2022-11-20 23:20:10 +0200

configure: Fix possible regressions with trunk autoconf (vs 2.71)

Signed-off-by: Cosmin Truta <ctruta@gmail.com>

Files Modified:

  • configure.ac

790fef342b83770450c56828a65c22641f04114d by John Bowler

https://github.com/glennrp/libpng/commit/790fef342b83770450c56828a65c22641f04114d
Authored: 2022-11-16 01:47:20 -0800
Committed: 2022-11-20 23:03:43 +0200

tools: Fix a memory leak in pngcp

Signed-off-by: Cosmin Truta <ctruta@gmail.com>

Files Modified:

  • contrib/tools/pngcp.c

8a5732fcb30b8afc4d3c23144acf2b502bb80122 by Alberto Barbaro

https://github.com/glennrp/libpng/commit/8a5732fcb30b8afc4d3c23144acf2b502bb80122
Authored: 2022-07-05 08:04:26 +0100
Committed: 2022-11-20 22:28:03 +0200

tools: Fix a buffer overflow involving a file name in pngfix

Reported-by: Guoxiang Niu (@niugx), EaglEye Team
Reported-by: Riccardo Mori <patacca@autistici.org>
Reviewed-by: John Bowler <jbowler@acm.org>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>

Files Modified:

  • contrib/tools/pngfix.c

77c3a39299eaa32acd5422a416fad7da2b3d75b5 by Cosmin Truta

https://github.com/glennrp/libpng/commit/77c3a39299eaa32acd5422a416fad7da2b3d75b5
Authored: 2022-11-20 21:23:33 +0200
Committed: 2022-11-20 21:23:33 +0200

Clean up comments and whitespace characters in source files

Remove all remaining "last changed" version info from source comments.
(The version control system maintains this information automatically.)

Delete the trailing whitespace characters.

Files Modified:

  • CHANGES
  • contrib/arm-neon/android-ndk.c
  • contrib/arm-neon/linux-auxv.c
  • contrib/arm-neon/linux.c
  • contrib/examples/pngtopng.c
  • contrib/powerpc-vsx/linux.c
  • contrib/powerpc-vsx/linux_aux.c
  • contrib/tools/checksum-icc.c
  • contrib/tools/cvtcolor.c
  • contrib/tools/genpng.c
  • contrib/tools/makesRGB.c
  • contrib/tools/png-fix-itxt.c
  • contrib/tools/pngcp.c
  • contrib/tools/pngfix.c
  • contrib/tools/sRGB.h
  • intel/filter_sse2_intrinsics.c
  • libpng-manual.txt
  • libpng.3
  • pngread.c
  • scripts/intprefix.c
  • scripts/prefix.c
  • scripts/sym.c
  • scripts/symbols.c
  • scripts/vers.c

8cfdb5436d7d384e4c8915397ee9ead845418d40 by Cosmin Truta

https://github.com/glennrp/libpng/commit/8cfdb5436d7d384e4c8915397ee9ead845418d40
Authored: 2022-11-20 21:13:14 +0200
Committed: 2022-11-20 21:13:14 +0200

Clean up oss-fuzz

With the caveat that oss-fuzz needs a full sync with upstream, here
are the changes applied to our old copy:

  • Add a missing #include directive.
  • Remove the "last changed" version info.
  • Clean up the trailing whitespace.

Co-authored-by: Ilya Yegorov <hkctkuy@gmail.com>
Co-authored-by: Cosmin Truta <ctruta@gmail.com>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>

Files Modified:

  • contrib/oss-fuzz/README.txt
  • contrib/oss-fuzz/build.sh
  • contrib/oss-fuzz/libpng_read_fuzzer.cc

f6036c0aeb01ca800bdf41ec5f07ded2ce89d26c by Cosmin Truta

https://github.com/glennrp/libpng/commit/f6036c0aeb01ca800bdf41ec5f07ded2ce89d26c
Authored: 2022-11-20 20:21:41 +0200
Committed: 2022-11-20 20:21:41 +0200

Update, rename and clean up various scripts

Rename contrib/tools/chkfmt to contrib/tools/chkfmt.sh; refactor:

  • Increase the max line length for contrib/**/*.[ch] from 96 to 100.
  • Set the max line length for ci_*.sh to 100.
  • Use basename $0 instead of the hard-coded script name.
  • Update comments.

Remove contrib/tools/reindent. For automated code formatting, including
indentation, we need a robust solution.

Add an empty line after the hashbang line in all scripts.

Remove the "last changed" version info from comment headers.
(The version control system maintains this information automatically.)

Files Deleted:

  • contrib/tools/reindent

Files Modified:

  • contrib/testpngs/makepngs.sh
  • contrib/tools/intgamma.sh
  • scripts/checksym.awk
  • scripts/dfn.awk
  • scripts/options.awk

Files Changed:

  • R067 contrib/tools/chkfmt

689e06516bce26ba0113a70ec15bd80c2e535ccd by Cosmin Truta

https://github.com/glennrp/libpng/commit/689e06516bce26ba0113a70ec15bd80c2e535ccd
Authored: 2022-11-20 17:51:33 +0200
Committed: 2022-11-20 17:51:33 +0200

Clean up vestigial uses of png_size_tp

Files Modified:

  • png.c
  • pngpriv.h
  • pngwutil.c

33de006e127ffc330f12396bf6732682f804d115 by Cosmin Truta

https://github.com/glennrp/libpng/commit/33de006e127ffc330f12396bf6732682f804d115
Authored: 2022-11-20 00:56:35 +0200
Committed: 2022-11-20 00:56:35 +0200

Turn large PNG chunks into benign errors

Import Chromium commit
https://chromium.googlesource.com/chromium/src/+/e87a02987101e2dbe319a4aba6b52470f7624b4a

Add the author to the list of libpng contributing authors.

Portions from the original commit message follow:


A recent change to libpng [1] (included in Chromium with the recent
libpng update [2]) turns chunks that are bigger than
PNG_USER_CHUNK_MALLOC_MAX into failures. Although this matches the
intent of PNG_USER_CHUNK_MALLOC_MAX, it also causes images which used to
be viewable in Chromium to fail. Changing to a benign error allows us to
display these images once again. Though it means we do allow libpng to
allocate more than PNG_USER_CHUNK_MALLOC_MAX, it matches the behavior
prior to [2] (when we were using 1.6.22), and it does not regress
crbug.com/117369

[1] https://github.com/glennrp/libpng/commit/347538efbdc21b8df684ebd92d37400b3ce85d55
[2] https://chromium.googlesource.com/chromium/src/+/f82653a473f8de5fc86d0f2ecc75f6237e61946b


Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=827754
Co-authored-by: Leon Scroggins III <scroggo@google.com>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>

Files Modified:

  • AUTHORS
  • pngrutil.c

9b5488054bc9fc750178e9b90ffea25e71d3348b by tangyaofang

https://github.com/glennrp/libpng/commit/9b5488054bc9fc750178e9b90ffea25e71d3348b
Authored: 2019-06-21 14:57:51 +0800
Committed: 2022-11-16 01:51:34 +0200

Fix comments

Signed-off-by: Cosmin Truta <ctruta@gmail.com>

Files Modified:

  • contrib/tools/png-fix-itxt.c
  • pngwrite.c

04c016d79f97eb072c601787a4bc1b039a500025 by Felix Hanau

https://github.com/glennrp/libpng/commit/04c016d79f97eb072c601787a4bc1b039a500025
Authored: 2022-10-05 13:19:01 -0400
Committed: 2022-10-23 23:10:07 +0300

scripts: Fix the remaining instance of ZLIB_INCLUDE_DIR

Files Modified:

  • scripts/genout.cmake.in

b8ca9108acddfb9fb5d886f5e8a072ebaf436dbb by Cosmin Truta

https://github.com/glennrp/libpng/commit/b8ca9108acddfb9fb5d886f5e8a072ebaf436dbb
Authored: 2022-10-12 12:42:09 +0300
Committed: 2022-10-12 12:42:09 +0300

arm: Add a compile-time assertion about PNG_ARM_NEON_CHECK_SUPPORTED

Following up on the previous commit by Martin Storsjö:

If the availability of ARM Neon is not only known at compile time,
but also expected by the compiler's target architecture, there should
be no further need for a run-time check. In fact, such a check would
be counter-productive.

Files Modified:

  • arm/arm_init.c

e56f79c0c6d94f5d727fc147d4487038e188cdf2 by Martin Storsjö

https://github.com/glennrp/libpng/commit/e56f79c0c6d94f5d727fc147d4487038e188cdf2
Authored: 2022-10-12 10:30:29 +0300
Committed: 2022-10-12 12:35:33 +0300

cmake: Default to PNG_ARM_NEON=off for arm targets

This matches the configure script - unless the user has requested
anything, no hardware optimizations are autoenabled.

Defaulting to "check" is brittle (that configuration is deprecated
and poorly supported) - and for configurations where it would
make sense (where NEON isn't universally enabled in the compiler)
it didn't end up setting ARM_NEON_OPT to 1 in pnglibconf.h anyway.

This fixes default builds with cmake for iOS and Windows on armv7,
where NEON is universally available (but there's no runtime check
implemented) - but actually using NEON on this architecture
requires explicitly opting in to it when configuring, just like
with the configure script.

Signed-off-by: Cosmin Truta <ctruta@gmail.com>

Files Modified:

  • CMakeLists.txt

12222e6fbdc90523be77633ed430144cfee22772 by Cosmin Truta

https://github.com/glennrp/libpng/commit/12222e6fbdc90523be77633ed430144cfee22772
Authored: 2022-09-18 23:51:58 +0300
Committed: 2022-09-18 23:51:58 +0300

scripts: Add missing makefile.clang reference to README.txt

Files Modified:

  • scripts/README.txt

9b65ad49d3269afc7e0eefe1f75c19aed7d28212 by Cosmin Truta

https://github.com/glennrp/libpng/commit/9b65ad49d3269afc7e0eefe1f75c19aed7d28212
Authored: 2022-09-18 19:37:40 +0300
Committed: 2022-09-18 19:37:40 +0300

scripts: Remove the support for "install" targets from all makefiles

In most of the legacy makefiles (with only a few notable exceptions
such as makefile.linux), the "install" targets have been broken since
libpng-1.5.0beta01. Specifically, the "install-shared" targets produced
incorrect library names, due to a missing symbol in the definition of
the LIBSOREL macro.

Rather than correcting this long-standing and long-untested error, we
decided to remove the support for "make install" altogether, from all
legacy makefiles. Further use of "make install", "make install-static"
or "make install-shared" will fail with an error message.

Going forward, the only tested and supported manners to install libpng
shall be the conventional build and install procedures driven by the
configure script or by the CMake file.

Files Modified:

  • INSTALL
  • scripts/makefile.32sunu
  • scripts/makefile.64sunu
  • scripts/makefile.aix
  • scripts/makefile.atari
  • scripts/makefile.beos
  • scripts/makefile.darwin
  • scripts/makefile.dec
  • scripts/makefile.dj2
  • scripts/makefile.freebsd
  • scripts/makefile.hp64
  • scripts/makefile.hpgcc
  • scripts/makefile.hpux
  • scripts/makefile.linux
  • scripts/makefile.mips
  • scripts/makefile.msys
  • scripts/makefile.netbsd
  • scripts/makefile.openbsd
  • scripts/makefile.sco
  • scripts/makefile.sggcc
  • scripts/makefile.sgi
  • scripts/makefile.so9
  • scripts/makefile.solaris
  • scripts/makefile.std
  • scripts/makefile.sunos

3f991d509206248ac04ad801e1e756b803f5c56c by Cosmin Truta

https://github.com/glennrp/libpng/commit/3f991d509206248ac04ad801e1e756b803f5c56c
Authored: 2022-09-18 16:26:26 +0300
Committed: 2022-09-18 16:26:26 +0300

scripts: Remove makefile.cegcc

It is obsolete and unlikely to be still working

Files Deleted:

  • scripts/makefile.cegcc

Files Modified:

  • scripts/README.txt

b422bc11811f1089cda71a3e37a83a6009058ea8 by Cosmin Truta

https://github.com/glennrp/libpng/commit/b422bc11811f1089cda71a3e37a83a6009058ea8
Authored: 2022-09-18 11:35:35 +0300
Committed: 2022-09-18 11:35:35 +0300

.gitignore: Ignore the autoreconf artifacts

Files Modified:

  • .gitignore

6fc51194231fe8a4c01e07801992355fefa60b15 by Cosmin Truta

https://github.com/glennrp/libpng/commit/6fc51194231fe8a4c01e07801992355fefa60b15
Authored: 2022-09-17 13:36:12 +0300
Committed: 2022-09-17 13:36:12 +0300

Bump version to 1.6.39.git

Files Modified:

  • ANNOUNCE
  • CHANGES
  • CMakeLists.txt
  • README
  • configure
  • configure.ac
  • png.c
  • png.h
  • pngconf.h
  • pngtest.c
  • scripts/libpng-config-head.in
  • scripts/libpng.pc.in
  • scripts/pnglibconf.h.prebuilt

0a158f3506502dfa23edfc42790dfaed82efba17 by Cosmin Truta

https://github.com/glennrp/libpng/commit/0a158f3506502dfa23edfc42790dfaed82efba17
Authored: 2022-09-14 22:42:00 +0300
Committed: 2022-09-14 22:42:00 +0300

Release libpng version 1.6.38

Files Modified:

  • ANNOUNCE
  • CHANGES
  • CMakeLists.txt
  • README
  • configure
  • configure.ac
  • libpng-manual.txt
  • libpng.3
  • libpngpf.3
  • png.5
  • png.c
  • png.h
  • pngconf.h
  • pngtest.c
  • scripts/libpng-config-head.in
  • scripts/libpng.pc.in
  • scripts/makefile.darwin
  • scripts/makefile.linux
  • scripts/makefile.msys
  • scripts/makefile.netbsd
  • scripts/makefile.openbsd
  • scripts/pnglibconf.h.prebuilt

50d7a851544aeb1519cb6c8efca3ec5625ed5e4f by Cosmin Truta

https://github.com/glennrp/libpng/commit/50d7a851544aeb1519cb6c8efca3ec5625ed5e4f
Authored: 2022-09-14 22:00:42 +0300
Committed: 2022-09-14 22:00:42 +0300

Acknowledge the contributors of bug fixes applied to the EXIF support

Considering that the EXIF support is part of the core libpng library
(which excludes scripts, tests, and other independent programs), its
contributors should be acknowledged in the AUTHORS file.

Files Modified:

  • AUTHORS

2733482d8eb0cd3ee366148a7d5f2f5d8810d552 by Cosmin Truta

https://github.com/glennrp/libpng/commit/2733482d8eb0cd3ee366148a7d5f2f5d8810d552
Authored: 2022-09-14 22:00:42 +0300
Committed: 2022-09-14 22:00:42 +0300

Fix a last-minute bug in the checking of the EXIF byte-order header

The check should fail if the EXIF byte-order header doesn't start with
a correct character, or if the two heading characters aren't identical.

Rewrite the check to make the code logic easier to follow.

Files Modified:

  • pngrutil.c

3d57708c9166419b7f5e0bbda2f7a2149112c844 by Cosmin Truta

https://github.com/glennrp/libpng/commit/3d57708c9166419b7f5e0bbda2f7a2149112c844
Authored: 2022-09-14 22:00:42 +0300
Committed: 2022-09-14 22:00:42 +0300

Revert "Remove second call to write_eXIf"

The second call to png_write_eXIf should not have been removed.

The first call to png_write_eXIf is for writing the eXIf chunk that is
positioned before IDAT, while the second call is for writing the eXIf
chunk that is positioned after IDAT.

TODO:
Implement a correct fix which consists in ensuring that there are no
eXIf chunks simultaneously before and after IDAT.

This reverts commit cd03aaf7bf0e0c748b8c6cb34a56b402b40d61d0.

Files Modified:

  • pngwrite.c

abccfd796870f42d8815bb30bf30920bb1c97105 by Cosmin Truta

https://github.com/glennrp/libpng/commit/abccfd796870f42d8815bb30bf30920bb1c97105
Authored: 2022-09-14 21:56:47 +0300
Committed: 2022-09-14 21:56:47 +0300

.gitignore: Update

Files Modified:

  • .gitignore

823ef44f01764127276fc0fc1c4dfa5f01c64a2e by Cosmin Truta

https://github.com/glennrp/libpng/commit/823ef44f01764127276fc0fc1c4dfa5f01c64a2e
Authored: 2022-09-14 21:56:47 +0300
Committed: 2022-09-14 21:56:47 +0300

scripts: Remove leftover references to the ci_* scripts from README.txt

Files Modified:

  • scripts/README.txt

d72cda543c01d44f0b3e61f4cb38fd16a28d5665 by Cosmin Truta

https://github.com/glennrp/libpng/commit/d72cda543c01d44f0b3e61f4cb38fd16a28d5665
Authored: 2022-09-14 21:56:47 +0300
Committed: 2022-09-14 21:56:47 +0300

ci: Trace the paths of executable files found on the build machine

Also add markers to trace the boundaries of configuration and build
steps.

Files Modified:

  • ci/ci_autotools.sh
  • ci/ci_cmake.sh
  • ci/ci_legacy.sh

3c67eeca51edced380292766fd44e48e2f3c47a4 by Cosmin Truta

https://github.com/glennrp/libpng/commit/3c67eeca51edced380292766fd44e48e2f3c47a4
Authored: 2022-09-14 21:50:02 +0300
Committed: 2022-09-14 21:50:02 +0300

scripts: Add makefile.emcc for building libpng with Emscripten

Adapt makefile.clang to invoke the Emscripten toolchain utilities.

Co-authored-by: Kirk Roerig <mr.possoms@gmail.com>
Co-authored-by: Cosmin Truta <ctruta@gmail.com>

Files Added:

  • scripts/makefile.emcc

b60656ecdc58407735cdfd5145d2bdf6a122938d by Cosmin Truta

https://github.com/glennrp/libpng/commit/b60656ecdc58407735cdfd5145d2bdf6a122938d
Authored: 2022-09-14 21:35:33 +0300
Committed: 2022-09-14 21:35:33 +0300

scripts: Disable the hardware-optimized compilation in legacy makefiles

Fix the legacy makefile builds on ARM, MIPS and PowerPC, where
hardware-optimized compilation was enabled by default in the generic
source files, but without including the machine-specific source files.

Delete scripts/makefile.linux-opt.

Files Deleted:

  • scripts/makefile.linux-opt

Files Modified:

  • scripts/makefile.clang
  • scripts/makefile.darwin
  • scripts/makefile.gcc
  • scripts/makefile.linux
  • scripts/makefile.std

c64655d058b1b8156af45af0f6f4cdf95cf303c1 by Cosmin Truta

https://github.com/glennrp/libpng/commit/c64655d058b1b8156af45af0f6f4cdf95cf303c1
Authored: 2022-09-14 21:18:20 +0300
Committed: 2022-09-14 21:18:20 +0300

scripts: Set the compiler warning options to "-Wall -Wextra -Wundef"

Considering that "-Wextra" is a more descriptive alternative to "-W",
and that "-Wundef" is a highly useful warning option that has been
available in ancient versions of gcc (version 2.x), we replace all
occurrences of "-W -Wall" with "-Wall -Wextra -Wundef".

Also clean up the makefiles.

Files Modified:

  • scripts/makefile.32sunu
  • scripts/makefile.64sunu
  • scripts/makefile.aix
  • scripts/makefile.beos
  • scripts/makefile.clang
  • scripts/makefile.darwin
  • scripts/makefile.dec
  • scripts/makefile.dj2
  • scripts/makefile.freebsd
  • scripts/makefile.gcc
  • scripts/makefile.hp64
  • scripts/makefile.hpgcc
  • scripts/makefile.hpux
  • scripts/makefile.linux
  • scripts/makefile.linux-opt
  • scripts/makefile.mips
  • scripts/makefile.msys
  • scripts/makefile.openbsd
  • scripts/makefile.sco
  • scripts/makefile.sggcc
  • scripts/makefile.sgi
  • scripts/makefile.so9
  • scripts/makefile.solaris
  • scripts/makefile.std
  • scripts/makefile.sunos

8b7b99c1db32e8f2266b310f64bb61486aa4c52e by Cosmin Truta

https://github.com/glennrp/libpng/commit/8b7b99c1db32e8f2266b310f64bb61486aa4c52e
Authored: 2022-09-14 11:53:47 +0300
Committed: 2022-09-14 11:53:47 +0300

scripts: Clean up the logging in makefile.std and pnglibconf.mak

The console logs produced by these scripts should be easy to follow,
especially on CI bots.

Delete the unnecessary macros ECHO and SED.
Add a new macro MV_F (for "mv -f"), alongside RM_F (for "rm -f").

Files Modified:

  • scripts/makefile.std
  • scripts/pnglibconf.mak

62c027d4dfe166a81280e50eb8a6e67db63da695 by Cosmin Truta

https://github.com/glennrp/libpng/commit/62c027d4dfe166a81280e50eb8a6e67db63da695
Authored: 2022-09-14 11:30:14 +0300
Committed: 2022-09-14 11:30:14 +0300

Fix handling incorrect hIST chunks of uneven size

The hIST chunks, used for storing image histograms, contain arrays of
16-bit unsigned integers, and the chunk size is expected to be an even
number. Raise a png_chunk_benign_error() if a hIST chunk fails to meet
this expectation.

Reported-by: Eugene Kliuchnikov <eustas@google.com>

Files Modified:

  • pngrutil.c

e9e9801a84f5bb053903654634b068dbee72db88 by Cosmin Truta

https://github.com/glennrp/libpng/commit/e9e9801a84f5bb053903654634b068dbee72db88
Authored: 2022-09-14 11:07:36 +0300
Committed: 2022-09-14 11:07:36 +0300

Simplify the definition of png_isaligned and avoid compiler warnings

The following pointer subtraction was unnecessary:
((const char*)(ptr)-(const char*)0)

In order to avoid further warnings about casting a wide pointer type
to a narrower integer type, we cast the pointer to the target integer
type through (size_t).

Also fix a comment and reformat the surrounding code.

Files Modified:

  • pngpriv.h
  • pngrutil.c

0c2388cdae0b7277cf9b6e2cf6d745a193adcf40 by Cosmin Truta

https://github.com/glennrp/libpng/commit/0c2388cdae0b7277cf9b6e2cf6d745a193adcf40
Authored: 2022-09-14 08:54:57 +0300
Committed: 2022-09-14 08:54:57 +0300

projects: Delete the definition of _WINDOWS from the VStudio project

The _WINDOWS macro should not be defined on a modern Windows platform.
This macro was predefined by 16-bit Windows compilers only.

Files Modified:

  • projects/vstudio/libpng/libpng.vcxproj
  • projects/vstudio/zlib/zlib.vcxproj

9cb84c4cb9d490308ccaf803300ffe35c1677c0b by Cosmin Truta

https://github.com/glennrp/libpng/commit/9cb84c4cb9d490308ccaf803300ffe35c1677c0b
Authored: 2022-09-14 08:54:57 +0300
Committed: 2022-09-14 08:54:57 +0300

Delete vestigial declarations formerly used on 16-bit platforms

Delete the structure members used in the 16-bit Turbo C memory models.
Delete the PNG_ABORT declaration used in the 16-bit Windows build.

Stop checking macros (e.g. _WINDOWS) predefined by 16-bit Windows
compilers (but do check the NT macro, which was the only one
predefined by ancient Windows NT compilers).

Files Modified:

  • pngconf.h
  • pngpriv.h
  • pngstruct.h

8c542ad9dfc3e7f8a8c790343a43d9cffbc54fd8 by Cosmin Truta

https://github.com/glennrp/libpng/commit/8c542ad9dfc3e7f8a8c790343a43d9cffbc54fd8
Authored: 2022-09-14 00:42:48 +0300
Committed: 2022-09-14 00:42:48 +0300

arm: Do not allow PNG_ARM_NEON_CHECK_SUPPORTED on ARM64

ARM Neon is expected to be unconditionally available on ARM64.
Issue an #error if PNG_ARM_NEON_CHECK_SUPPORTED is defined on an
ARM64-based platform.

For the plain ARM platforms where ARM Neon checking is not yet
implemented, issue a slightly more descriptive #error, including
a suggested course of action.

Files Modified:

  • arm/arm_init.c

2abaf81e0f4a87942fcb9ef042905ef7578927ef by Cosmin Truta

https://github.com/glennrp/libpng/commit/2abaf81e0f4a87942fcb9ef042905ef7578927ef
Authored: 2022-09-14 00:12:11 +0300
Committed: 2022-09-14 00:12:11 +0300

arm: Avoid compiler warnings in palette_neon_intrinsics.c

Use correct int types; wrap PNG_UNUSED around unused arguments.

Files Modified:

  • arm/palette_neon_intrinsics.c

ad0245bb967b90866663cd8e5d74844031a17cea by Vadim Zeitlin

https://github.com/glennrp/libpng/commit/ad0245bb967b90866663cd8e5d74844031a17cea
Authored: 2020-05-02 20:29:26 +0200
Committed: 2022-09-14 00:12:11 +0300

Avoid -Wundef for MIPS and PPC symbols too

This is similar to d532334ef (Avoid -Wundef warnings when building
libpng, 2017-11-13), but for the similar symbols used under the other
architectures: always define them, even if just as 0, to avoid gcc
warnings when comparing them with 0 later.

Files Modified:

  • pngpriv.h

1f974dd2a939d4aff052ab74769ca237c4b0703f by Vadim Zeitlin

https://github.com/glennrp/libpng/commit/1f974dd2a939d4aff052ab74769ca237c4b0703f
Authored: 2020-02-04 22:48:25 +0100
Committed: 2022-09-14 00:12:11 +0300

Avoid -Wundef warnings for PNG_ARM_NEON_IMPLEMENTATION

Define this symbol as 0 instead of leaving it undefined when not using
ARM NEON optimizations.

No real changes, but just avoid a bunch of

"PNG_ARM_NEON_IMPLEMENTATION" is not defined, evaluates to 0 [-Wundef]

warnings when building the library.

Files Modified:

  • pngpriv.h

3ec225dd411c1a779089fa558d659cf860d12da0 by Sami Boukortt

https://github.com/glennrp/libpng/commit/3ec225dd411c1a779089fa558d659cf860d12da0
Authored: 2019-02-12 14:17:27 +0100
Committed: 2022-09-13 14:11:33 +0300

Fix a memory leak in png_set_tRNS

This leak was discovered by OSS-Fuzz.

The old structure of the code was along the lines of:

allocate trans_alpha;
if (problem) {
// Jumps away from this function
png_warning("tRNS chunk has out-of-range samples for bit_depth");
}
mark trans_alpha as to-free;

Signed-off-by: Cosmin Truta <ctruta@gmail.com>

Files Modified:

  • AUTHORS
  • pngset.c

36bd1bbd549a4b6dd5ed2e1dbf7fd623c0a9797d by Cosmin Truta

https://github.com/glennrp/libpng/commit/36bd1bbd549a4b6dd5ed2e1dbf7fd623c0a9797d
Authored: 2022-09-13 13:49:02 +0300
Committed: 2022-09-13 13:49:02 +0300

Fix a crash in png_convert_from_time_t with an invalid time_t argument

This bug was found by FUTAG, a program for generating automated
fuzz-targets of libraries.

TODO:
Implement a safe function, alternative to png_convert_from_time_t,
which takes a png_ptr argument and raises a png_error if the time_t
argument is invalid.

Reported-by: Tran Chi Thien <thientc@ispras.ru>
Reported-by: Shamil Kurmangaleev <kursh@ispras.ru>

Files Modified:

  • pngwrite.c

0406deb1ca2e012ba551efd6eeec40803e4480b1 by Cosmin Truta

https://github.com/glennrp/libpng/commit/0406deb1ca2e012ba551efd6eeec40803e4480b1
Authored: 2022-09-13 01:54:17 +0300
Committed: 2022-09-13 01:54:17 +0300

Fix private macro png_constcast; delete private type png_ptruint

In order to appease the compiler warnings that might affect the uses
of png_constcast, it should be sufficient to cast the source pointer
type to (const void*), and then to (void*), and then to the destination
pointer type. An intermediate cast through an integer type, such as
(png_ptruint), should not be needed.

Files Modified:

  • pngpriv.h

5f5f98a1a919e89f0bcea26d73d96dec760f222f by Peter Kasting

https://github.com/glennrp/libpng/commit/5f5f98a1a919e89f0bcea26d73d96dec760f222f
Authored: 2021-07-26 21:45:09 -0700
Committed: 2022-09-13 01:49:33 +0300

Fix an instance of -Wunused-but-set-variable.

Bug: chromium:1203071

Files Modified:

  • pngread.c

f10c6bb603b6b0b4693ff9da3bf27e5b65cce8eb by xmuli

https://github.com/glennrp/libpng/commit/f10c6bb603b6b0b4693ff9da3bf27e5b65cce8eb
Authored: 2020-07-08 23:59:46 +0800
Committed: 2022-09-13 01:37:02 +0300

Add spaces around '/' and '/'

Like most other Qt coding styles, the necessary spaces should be added
to the sides of '/' and '/'

Files Modified:

  • png.c

f16427e58e5e96bcb7308fccb7e9c4e67f0af271 by luz paz

https://github.com/glennrp/libpng/commit/f16427e58e5e96bcb7308fccb7e9c4e67f0af271
Authored: 2022-01-08 06:41:50 -0500
Committed: 2022-09-13 01:35:28 +0300

Fix various typos

Found via codespell -q 3 -S ./ltmain.sh,./scripts/libtool.m4 -L ake,ans,ba,bloc,crashers,doed,inout,lengthh,maked,paeth,parm,parms,redy,unx

Files Modified:

  • CHANGES
  • contrib/libtests/makepng.c
  • contrib/libtests/pngvalid.c
  • contrib/libtests/timepng.c
  • contrib/tools/genpng.c
  • contrib/tools/pngcp.c
  • contrib/tools/pngfix.c
  • png.c
  • png.h
  • scripts/dfn.awk

6aff792b6609ec3e651e41810643140a365a30c7 by Cosmin Truta

https://github.com/glennrp/libpng/commit/6aff792b6609ec3e651e41810643140a365a30c7
Authored: 2022-09-13 01:23:52 +0300
Committed: 2022-09-13 01:23:52 +0300

projects: Update the README file of the Visual Studio project

Files Modified:

  • projects/vstudio/README.txt

ed8840a36ff4d990f8e96dca920312f79fc80cfa by Gabor Kertesz

https://github.com/glennrp/libpng/commit/ed8840a36ff4d990f8e96dca920312f79fc80cfa
Authored: 2021-10-28 12:54:00 +0200
Committed: 2022-09-13 01:23:52 +0300

projects: Add ARM64 to Visual Studio project

Files Modified:

  • projects/vstudio/libpng/libpng.vcxproj
  • projects/vstudio/pnglibconf/pnglibconf.vcxproj
  • projects/vstudio/pngstest/pngstest.vcxproj
  • projects/vstudio/pngtest/pngtest.vcxproj
  • projects/vstudio/pngunknown/pngunknown.vcxproj
  • projects/vstudio/pngvalid/pngvalid.vcxproj
  • projects/vstudio/vstudio.sln
  • projects/vstudio/zlib/zlib.vcxproj

efdb24e54bfb6961325bf501946b46425ef2af33 by Gabor Kertesz

https://github.com/glennrp/libpng/commit/efdb24e54bfb6961325bf501946b46425ef2af33
Authored: 2021-10-28 12:51:13 +0200
Committed: 2022-09-13 01:23:52 +0300

projects: Fix C2220 warning errors for VS2019

It sets warning level lower and not treat as errors because of
C2220 warnings are escalated to errors in Visual Studio 2019.

Files Modified:

  • projects/vstudio/libpng/libpng.vcxproj
  • projects/vstudio/pngstest/pngstest.vcxproj
  • projects/vstudio/pngtest/pngtest.vcxproj
  • projects/vstudio/pngunknown/pngunknown.vcxproj
  • projects/vstudio/pngvalid/pngvalid.vcxproj
  • projects/vstudio/zlib/zlib.vcxproj

1f20bc1e8520b0e893aeaf566c078247a350d1c3 by Gabor Kertesz

https://github.com/glennrp/libpng/commit/1f20bc1e8520b0e893aeaf566c078247a350d1c3
Authored: 2021-10-28 12:20:45 +0200
Committed: 2022-09-13 01:23:52 +0300

projects: Upgrade to Visual Studio 2019

Files Modified:

  • projects/vstudio/libpng/libpng.vcxproj
  • projects/vstudio/pnglibconf/pnglibconf.vcxproj
  • projects/vstudio/pngstest/pngstest.vcxproj
  • projects/vstudio/pngtest/pngtest.vcxproj
  • projects/vstudio/pngunknown/pngunknown.vcxproj
  • projects/vstudio/pngvalid/pngvalid.vcxproj
  • projects/vstudio/zlib/zlib.vcxproj

bbab57105bc08d4dfc37d2baf6511c4d359b47d0 by Gabor Kertesz

https://github.com/glennrp/libpng/commit/bbab57105bc08d4dfc37d2baf6511c4d359b47d0
Authored: 2021-10-27 18:45:08 +0200
Committed: 2022-09-13 01:23:52 +0300

scripts: Add makefile for win-arm64

This makefile is based on makefile.vcwin32, but includes Neon
intrinsic optimization.

Co-authored-by: Gabor Kertesz <gabor.kertesz@linaro.org>
Co-authored-by: Cosmin Truta <ctruta@gmail.com>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>

Files Added:

  • scripts/makefile.vcwin-arm64

a1a81cc2acfd4f06c04197518c0195e3bdc7f5b2 by Gabor Kertesz

https://github.com/glennrp/libpng/commit/a1a81cc2acfd4f06c04197518c0195e3bdc7f5b2
Authored: 2021-10-25 12:03:42 +0200
Committed: 2022-09-13 01:23:52 +0300

Fix arm neon config for win-arm64 with MSVC

Fixes #398
It adds win-arm64 as an arm64 platform, by using a define which
is set to 1 for compilations that target 64-bit ARM processors,
otherwise undefined.

Files Modified:

  • pngpriv.h

c3a1d8424c16c35f377861b968765d4db154e859 by Cosmin Truta

https://github.com/glennrp/libpng/commit/c3a1d8424c16c35f377861b968765d4db154e859
Authored: 2022-09-13 00:56:32 +0300
Committed: 2022-09-13 00:56:32 +0300

Update INSTALL

Files Modified:

  • INSTALL

eda0f47f46aa675a9bf1aefef440f2842f6c5cce by Samanta Navarro

https://github.com/glennrp/libpng/commit/eda0f47f46aa675a9bf1aefef440f2842f6c5cce
Authored: 2020-10-03 11:51:35 +0000
Committed: 2022-09-13 00:34:27 +0300

Fix typo in libpng manual

Files Modified:

  • libpng-manual.txt
  • libpng.3

3848c73ab4ddd8f475fcc8436f6d6dcfbf3bffa5 by Cosmin Truta

https://github.com/glennrp/libpng/commit/3848c73ab4ddd8f475fcc8436f6d6dcfbf3bffa5
Authored: 2022-09-12 13:50:32 +0300
Committed: 2022-09-12 13:50:32 +0300

cmake: Refactor the PNGLIB variables that define the versioning scheme

Files Modified:

  • CMakeLists.txt

dd8db8105c021637c7d7c7504c83c3c57c03f130 by Cosmin Truta

https://github.com/glennrp/libpng/commit/dd8db8105c021637c7d7c7504c83c3c57c03f130
Authored: 2022-09-10 23:50:49 +0300
Committed: 2022-09-10 23:50:49 +0300

cmake: Fix the shared build on Android

The ld version script should not be generated on Android.

Co-authored-by: Volker Krause <vkrause@kde.org>
Co-authored-by: Cosmin Truta <ctruta@gmail.com>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>

Files Modified:

  • CMakeLists.txt

763c77e628e2c78b4c422bb7e26327d28ee54ad4 by Cameron Cawley

https://github.com/glennrp/libpng/commit/763c77e628e2c78b4c422bb7e26327d28ee54ad4
Authored: 2021-05-22 01:09:48 +0100
Committed: 2022-09-10 22:31:28 +0300

cmake: Fix compilation on systems without libm

Signed-off-by: Cosmin Truta <ctruta@gmail.com>

Files Modified:

  • CMakeLists.txt

840af2eda6359e42be7867dfb53e2b2a011c1226 by Christopher Sean Morrison

https://github.com/glennrp/libpng/commit/840af2eda6359e42be7867dfb53e2b2a011c1226
Authored: 2022-03-10 01:08:09 -0500
Committed: 2022-09-10 22:02:00 +0300

cmake: Fix the build on Unix with source files checked out on Windows

The issue is that, by default, Git for Windows checks out text files
with CRLF line endings. This is a problem for awk, which is expecting
Unix-style LF line endings. When cloning on Windows and attempting to
compile on WSL, Mingw or Cygwin, there may be an error from awk.

The fix is to leverage CMake's ability to configure a file and perform
EOL conversions. We copy the awk scripts from the source directory to
the build directory. This portable method ensures they have LF endings,
and the build logic is updated to use the build directory version.

Intentionally avoiding .gitattributes to avoid setting precedent.

Co-authored-by: Christopher Sean Morrison <brlcad@gmail.com>
Co-authored-by: Cosmin Truta <ctruta@gmail.com>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>

Files Modified:

  • CMakeLists.txt
  • scripts/genchk.cmake.in

8a354b41e9c4f79b42c156d94188bd6adc808590 by Owen Rudge

https://github.com/glennrp/libpng/commit/8a354b41e9c4f79b42c156d94188bd6adc808590
Authored: 2020-12-14 21:24:33 +0000
Committed: 2022-09-10 21:31:13 +0300

cmake: Fix cross-compilation on macOS

Co-authored-by: Owen Rudge <owen@owenrudge.net>
Co-authored-by: Cosmin Truta <ctruta@gmail.com>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>

Files Modified:

  • CMakeLists.txt

0fe598d2f626786f6ce11a65de1a254f1e90fbc3 by Cosmin Truta

https://github.com/glennrp/libpng/commit/0fe598d2f626786f6ce11a65de1a254f1e90fbc3
Authored: 2022-09-10 20:45:21 +0300
Committed: 2022-09-10 20:45:21 +0300

cmake: Rename the target "symbol-check" to "scripts_symbols_chk"

Follow the general conventions for naming CMake targets.

Files Modified:

  • CMakeLists.txt

cbf8c64b58d50038aa051cdcd595923f57191295 by Gleb Mazovetskiy

https://github.com/glennrp/libpng/commit/cbf8c64b58d50038aa051cdcd595923f57191295
Authored: 2021-12-04 11:23:42 +0000
Committed: 2022-09-10 20:39:05 +0300

cmake: Correctly handle generated files

Generated files depend on other generated files, and this previously
resulted in the same custom command output being a dependency of
multiple other custom commands without a shared custom targets.

Adds a top-level target for each generated file and ensures that
commands that depend on generated files also depend on the corresponding
custom targets.

Per CMake documentation:

Do not list the output in more than one independent target
that may build in parallel or the two instances of the rule
may conflict (instead use add_custom_target to drive the command
and make the other targets depend on that one).

Signed-off-by: Cosmin Truta <ctruta@gmail.com>

Files Modified:

  • CMakeLists.txt

6a42bc1c8ecd94e831b0771a0aaf51cb6a0faec8 by Cosmin Truta

https://github.com/glennrp/libpng/commit/6a42bc1c8ecd94e831b0771a0aaf51cb6a0faec8
Authored: 2022-09-05 21:03:20 +0300
Committed: 2022-09-05 21:03:20 +0300

configure: Initialize PNG_ARM_NEON_OPT and PNG_MIPS_MSA_OPT correctly

Files Modified:

  • configure
  • configure.ac

9e32b6f1ad08362c6fa95abc84fbbacec521d5c5 by Cosmin Truta

https://github.com/glennrp/libpng/commit/9e32b6f1ad08362c6fa95abc84fbbacec521d5c5
Authored: 2022-09-05 17:30:06 +0300
Committed: 2022-09-05 17:30:06 +0300

Rerun "./autogen.sh --maintainer"

Files Modified:

  • Makefile.in
  • aclocal.m4
  • compile
  • config.guess
  • config.h.in
  • config.sub
  • configure
  • depcomp
  • install-sh
  • ltmain.sh
  • missing
  • scripts/libtool.m4
  • scripts/ltoptions.m4
  • scripts/ltsugar.m4
  • scripts/ltversion.m4
  • scripts/lt~obsolete.m4
  • test-driver

cc0e959722411ea8dd685e02630b89363618947e by Cosmin Truta

https://github.com/glennrp/libpng/commit/cc0e959722411ea8dd685e02630b89363618947e
Authored: 2022-09-05 17:30:06 +0300
Committed: 2022-09-05 17:30:06 +0300

Clean up configure.ac

Remove the obsolete autoconf macros:
AC_C_CONST, AC_HEADER_STDC, AC_TYPE_SIZE_T, AC_FUNC_STRTOD.

Clean up comments and whitespace.

Files Modified:

  • configure.ac

403422674d246921354b61a40041f84dadad830d by Dan Field

https://github.com/glennrp/libpng/commit/403422674d246921354b61a40041f84dadad830d
Authored: 2021-06-02 14:38:52 -0700
Committed: 2022-09-05 13:46:00 +0300

Remove obsolete/incorrect __LLVM,__asm section

Contributed-by: Dan Field <dnfield@google.com>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>

Files Modified:

  • arm/filter_neon.S

bfb0abe4d99c83c44d4aeb16d819d6c4f17f8cae by Cosmin Truta

https://github.com/glennrp/libpng/commit/bfb0abe4d99c83c44d4aeb16d819d6c4f17f8cae
Authored: 2022-09-04 20:21:30 +0300
Committed: 2022-09-04 20:21:30 +0300

Update the configuration for Travis CI and AppVeyor CI

Apply the following changes:

  • Add FreeBSD (besides Linux and Mac) to the Travis CI testing.
  • Use cc instead of clang for Xcode in the Travis CI testing.
  • Upgrade the Windows test image from Visual Studio 2019 to
    Visual Studio 2022 for AppVeyor CI.

Files Modified:

  • .appveyor.yml
  • .travis.yml

081e6751abc03348efe7acc0fd2289ec5eeae234 by Cosmin Truta

https://github.com/glennrp/libpng/commit/081e6751abc03348efe7acc0fd2289ec5eeae234
Authored: 2022-09-04 19:41:33 +0300
Committed: 2022-09-04 19:41:33 +0300

ci: Update the CI scripts

Apply the following changes:

  • Set CI_CMAKE_GENERATOR to "Ninja" by default in ci_cmake.sh.
  • Set CI_CC to cc by default in ci_autotools.sh.
  • Rename CI_SYSNAME to CI_SYSTEM_NAME; add CI_MACHINE_NAME.
  • Apply other minor changes and fixes.

Files Modified:

  • ci/ci_autotools.sh
  • ci/ci_cmake.sh
  • ci/ci_legacy.sh

103f8346e39779a9b8954e434b28bbdab36e90fb by Cosmin Truta

https://github.com/glennrp/libpng/commit/103f8346e39779a9b8954e434b28bbdab36e90fb
Authored: 2022-08-26 03:27:42 +0300
Committed: 2022-08-26 03:27:42 +0300

cmake: Set PNG_ARM_NEON to "on" by default on ARM64

Avoid build failures on all ARM64-based non-Linux systems.
PNG_ARM_NEON can be set to "check" on Linux/ARM32 only.

Files Modified:

  • CMakeLists.txt

723b2d9f2e2bb65c605274ee052f9773e594a5aa by Cosmin Truta

https://github.com/glennrp/libpng/commit/723b2d9f2e2bb65c605274ee052f9773e594a5aa
Authored: 2022-08-26 03:12:35 +0300
Committed: 2022-08-26 03:12:35 +0300

Update the copyright year

Files Modified:

  • LICENSE
  • png.c
  • png.h
  • scripts/pnglibconf.dfa
  • scripts/pnglibconf.h.prebuilt

b7ea74c97d94936419acbb0b260c547ed3bcbe37 by Cosmin Truta

https://github.com/glennrp/libpng/commit/b7ea74c97d94936419acbb0b260c547ed3bcbe37
Authored: 2021-03-15 20:23:26 -0400
Committed: 2021-03-15 20:23:26 -0400

Update the copyright year

Files Modified:

  • LICENSE
  • png.c
  • png.h
  • scripts/pnglibconf.dfa
  • scripts/pnglibconf.h.prebuilt

8c3fdb0ac122a6f3ff0fbd0f1d8e1d724017501f by Cosmin Truta

https://github.com/glennrp/libpng/commit/8c3fdb0ac122a6f3ff0fbd0f1d8e1d724017501f
Authored: 2021-03-15 20:23:26 -0400
Committed: 2021-03-15 20:23:26 -0400

ci: Update the CI scripts

Implement the following updates:

  • Add CI_SYSNAME and set it to uname -s.
  • Set the default CI_CC value to "clang" on all BSD systems.
  • Replace CI_SRCDIR_REL_BUILDDIR and CI_INSTALLDIR_REL_BUILDDIR
    with CI_SRCDIR_NATIVE and CI_INSTALLDIR_NATIVE.
    The former variables were hard-coded and error-prone; the new
    variables are computed and safe to use.

Files Modified:

  • ci/ci_autotools.sh
  • ci/ci_cmake.sh
  • ci/ci_legacy.sh

a37d4836519517bdce6cb9d956092321eca3e73b by Ben Bullock

https://github.com/glennrp/libpng/commit/a37d4836519517bdce6cb9d956092321eca3e73b
Authored: 2020-12-15 14:45:21 +0900
Committed: 2021-03-13 02:37:00 -0500

Eliminate spaces between function name and (

Files Modified:

  • pngget.c
  • pngset.c

3796518809b03e347393e630fe91ab7a3dd0dcc9 by Ben Bullock

https://github.com/glennrp/libpng/commit/3796518809b03e347393e630fe91ab7a3dd0dcc9
Authored: 2020-12-11 19:26:57 +0900
Committed: 2021-03-13 02:37:00 -0500

Remove duplicate line

Files Modified:

  • pngrutil.c

8ca01083d6ed594296578c6b5911fcb3738b67e3 by Ben Bullock

https://github.com/glennrp/libpng/commit/8ca01083d6ed594296578c6b5911fcb3738b67e3
Authored: 2020-12-11 19:21:35 +0900
Committed: 2021-03-13 02:37:00 -0500

Fix typo in README

Files Modified:

  • README

cd03aaf7bf0e0c748b8c6cb34a56b402b40d61d0 by Ben Bullock

https://github.com/glennrp/libpng/commit/cd03aaf7bf0e0c748b8c6cb34a56b402b40d61d0
Authored: 2020-12-11 19:12:40 +0900
Committed: 2021-03-13 02:37:00 -0500

Remove second call to write_eXIf

The second call to write_eXIf doesn't check whether the first call
succeeded; no other chunks except tIME and the text chunks seem to be
doubled like this.

The second call causes the eXIf chunk to incorrectly be written twice.

Files Modified:

  • pngwrite.c

c4bd411c35290f9568da44a7faf7a09505db78db by Qiang Zhou

https://github.com/glennrp/libpng/commit/c4bd411c35290f9568da44a7faf7a09505db78db
Authored: 2019-12-19 18:33:21 +0800
Committed: 2021-03-13 02:10:50 -0500

Fix decode fail on image with invalid eXIf chunk

Files Modified:

  • pngrutil.c

2224c8ea7b901ba038fdeff13605a60563bd00d2 by Kleber Tarcísio

https://github.com/glennrp/libpng/commit/2224c8ea7b901ba038fdeff13605a60563bd00d2
Authored: 2020-07-28 09:17:27 -0300
Committed: 2021-03-13 01:56:32 -0500

Add a check to pngimage.c

Check the result of png_get_IHDR inside the compare_read function.

Contributed-by: Kleber Tarcísio
Signed-off-by: Cosmin Truta

Files Modified:

  • contrib/libtests/pngimage.c

e2bb5e7512a48dcfe191065decac9cf78a68fd12 by Cosmin Truta

https://github.com/glennrp/libpng/commit/e2bb5e7512a48dcfe191065decac9cf78a68fd12
Authored: 2021-03-12 22:54:32 -0500
Committed: 2021-03-12 22:54:32 -0500

contrib: Apply various fixes to libtests

pngimage.c:
Initialize sig_bits on a NOTREACHED path to avoid warnings about using
uninitialized variables.

pngstest.c:
Enlarge buffers and fix signedness to avoid legitimate warnings about
potential buffer overflows.

pngunknown.c:
pngvalid.c:
Use NULL instead of 0 for pointers and apply other style fixes.

makepng.c:
tarith.c:
Apply various style fixes.

Also remove the "last changed" version info from source comments.
The version control system maintains this information automatically.

Files Modified:

  • contrib/libtests/gentests.sh
  • contrib/libtests/makepng.c
  • contrib/libtests/pngimage.c
  • contrib/libtests/pngstest.c
  • contrib/libtests/pngunknown.c
  • contrib/libtests/pngvalid.c
  • contrib/libtests/readpng.c
  • contrib/libtests/tarith.c
  • contrib/libtests/timepng.c

d6e13b2acd3afdb5f3aca458a6de5626079f2d2b by Cosmin Truta

https://github.com/glennrp/libpng/commit/d6e13b2acd3afdb5f3aca458a6de5626079f2d2b
Authored: 2020-12-31 04:08:35 -0500
Committed: 2020-12-31 04:08:35 -0500

.gitignore: Add

Files Added:

  • .gitignore

c2e2cd2ec5424b47104b6b15ce897af84256f5bf by Cosmin Truta

https://github.com/glennrp/libpng/commit/c2e2cd2ec5424b47104b6b15ce897af84256f5bf
Authored: 2020-12-31 03:29:11 -0500
Committed: 2020-12-31 03:29:11 -0500

ci: Fix the Visual Studio verification on AppVeyor CI

The Unix paths in Bash do not mix well with the Windows paths in CMake.
The uppercase and the lowercase environment variables do not mix well
in MSBuild. Et cetera.

On AppVeyor CI, verification of Windows builds with the Visual Studio
toolchain used to work, perhaps due to one or more lucky coincidences,
but it stopped working after an upgrade on the AppVeyor CI site.

Update ci_cmake.sh as follows:

  • Use POSIX commands like "mkdir" and "rm" instead of CMake commands
    like "make_directory" and "remove_directory".
  • Avoid using absolute paths in the CMake command line; use relative
    paths that are accessible from both Bash and Windows.
  • Clean up incidental mixtures of Windows and Bash-on-Windows
    environment variables like {$TEMP,$Temp,$temp} and {$TMP,$Tmp,$tmp}.

Files Modified:

  • ci/ci_cmake.sh

c3f209178b43e327472e76562ec0ce1c3a3101bb by Cosmin Truta

https://github.com/glennrp/libpng/commit/c3f209178b43e327472e76562ec0ce1c3a3101bb
Authored: 2020-12-31 00:41:01 -0500
Committed: 2020-12-31 00:41:01 -0500

ci: Recognize more CI_ variables for better cross-platform verification

For ci_autotools.sh, customize CPP, CPPFLAGS, AR, RANLIB, LD, LDFLAGS
via CI_CPP, CI_CPP_FLAGS, CI_AR, CI_RANLIB, CI_LD, CI_LD_FLAGS.

For ci_cmake.sh and ci_legacy.sh, customize AR, AR_RC and RANLIB via
CI_AR and CI_RANLIB.

Rewrite portions of ci_legacy.sh to match the style of ci_cmake.sh.

Files Modified:

  • ci/ci_autotools.sh
  • ci/ci_cmake.sh
  • ci/ci_legacy.sh

dbe3e0c43e549a1602286144d94b0666549b18e6 by Cristian Rodríguez

https://github.com/glennrp/libpng/commit/dbe3e0c43e549a1602286144d94b0666549b18e6
Authored: 2018-03-19 12:41:47 -0300
Committed: 2020-05-24 23:28:35 -0400

libpng.pc.in: zlib dependency is private

zlib should be injected only when pkgconfig is ran with the --static
option.

Files Modified:

  • libpng.pc.in

2f753e260c5e4106654afb4b09d70b7e0109d05e by Cosmin Truta

https://github.com/glennrp/libpng/commit/2f753e260c5e4106654afb4b09d70b7e0109d05e
Authored: 2020-05-24 22:09:45 -0400
Committed: 2020-05-24 22:09:45 -0400

ci: Verify the install target

Add support for the install target in ci_autotools.sh and ci_cmake.sh.
Also add the environment option CI_NO_INSTALL.

Files Modified:

  • ci/ci_autotools.sh
  • ci/ci_cmake.sh

f5d5f5ae0e25d8bb205cde036b270d5c06ee4063 by Cosmin Truta

https://github.com/glennrp/libpng/commit/f5d5f5ae0e25d8bb205cde036b270d5c06ee4063
Authored: 2020-05-24 22:01:40 -0400
Committed: 2020-05-24 22:01:40 -0400

cmake: Refactor the install target; reformat

Use standard CMake variables in the install target.
Reformulate comments and error messages.
Move all CMake keywords in front of their arguments.
Fix indentation.

Files Modified:

  • CMakeLists.txt

3676fd324a8920930f1ee66248e3119d30c7c9a2 by Cosmin Truta

https://github.com/glennrp/libpng/commit/3676fd324a8920930f1ee66248e3119d30c7c9a2
Authored: 2020-05-18 21:30:30 -0400
Committed: 2020-05-18 21:30:30 -0400

ci: Add a new top-level directory, dedicated for CI verification

Update the ci_*.sh scripts and move them to the more conventional
ci/ directory. Update .appveyor.yml and .travis.yml, as well as
the AUTHORS file, accordingly.

Speed up ci_cmake.sh: add "-DPNG_TESTS=OFF" to the list of CMake
variables if CI_NO_TEST is true.

Remove "sudo: false" from .travis.yml.

Refactor .appveyor.yml.

Files Modified:

  • .appveyor.yml
  • .travis.yml
  • AUTHORS

Files Changed:

  • R080 scripts/ci_autotools.sh
  • R084 scripts/ci_cmake.sh
  • R091 scripts/ci_legacy.sh

28c0f8895e4ac270b56b5c7e8089dd2417bc4e3c by Alex Gaynor

https://github.com/glennrp/libpng/commit/28c0f8895e4ac270b56b5c7e8089dd2417bc4e3c
Authored: 2018-05-20 18:46:32 -0400
Committed: 2020-05-18 18:46:32 -0400

cmake: Add an option to enable/disable building of executables

Add the CMake option PNG_EXECUTABLES (on by default) in order to
allow or disallow the building of non-essential executable programs
associated with libpng.

Contributed-by: Alex Gaynor <alex.gaynor@gmail.com>
Contributed-by: Cosmin Truta <ctruta@gmail.com>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>

Files Modified:

  • CMakeLists.txt

87378bc21d642f109f9d09431302fd75071a82e0 by Cosmin Truta

https://github.com/glennrp/libpng/commit/87378bc21d642f109f9d09431302fd75071a82e0
Authored: 2020-05-17 20:26:28 -0400
Committed: 2020-05-17 20:26:28 -0400

mips: Remove "last changed" version information from source comment

This information is maintained by the version control system.

Files Modified:

  • contrib/mips-msa/linux.c

6c6f7d105abaf413cf78e2fe4ea0c0c427f0d931 by gxw

https://github.com/glennrp/libpng/commit/6c6f7d105abaf413cf78e2fe4ea0c0c427f0d931
Authored: 2020-03-06 14:35:57 +0800
Committed: 2020-05-17 20:26:28 -0400

mips: Fix initialization: always close "/proc/cpuinfo"

Files Modified:

  • contrib/mips-msa/linux.c

6842c58adc2c882242a39b46fc45c50b32e1921f by Simon Hausmann

https://github.com/glennrp/libpng/commit/6842c58adc2c882242a39b46fc45c50b32e1921f
Authored: 2019-08-30 10:07:09 +0200
Committed: 2020-05-17 20:13:17 -0400

Fix CMake build with Emscripten

When building with Emscripten, linkage to libm is neither required
nor working. As find_library will fail, M_LIBRARY will be set to
NOTFOUND and the build would fail later. The build works just fine
without libm linkage.

Files Modified:

  • CMakeLists.txt

a6fc80300fc9eb49beca243612d018787ec293d4 by Dan Field

https://github.com/glennrp/libpng/commit/a6fc80300fc9eb49beca243612d018787ec293d4
Authored: 2019-08-26 15:04:51 -0700
Committed: 2020-05-17 20:00:46 -0400

Add an __LLVM,__asm section for clang builds on ARM

Files Modified:

  • AUTHORS
  • arm/filter_neon.S

5e8b45c436c1c1bef18b3a8e18b4f0b980e946fc by Steve Robinson

https://github.com/glennrp/libpng/commit/5e8b45c436c1c1bef18b3a8e18b4f0b980e946fc
Authored: 2019-08-24 13:25:14 -0700
Committed: 2020-05-17 19:50:18 -0400

cmake: Fix a build error on iOS

Avoid the awk-based configuration when cross-compiling from macOS
to iOS.

Files Modified:

  • CMakeLists.txt

6dd99ca9c85a59cc8848553177b84abea228f82f by Zack Middleton

https://github.com/glennrp/libpng/commit/6dd99ca9c85a59cc8848553177b84abea228f82f
Authored: 2019-08-02 18:37:04 -0500
Committed: 2020-04-27 01:27:07 -0400

Fix example.c

Files Modified:

  • example.c

52ee16764409ad3eb3513434b4faa19c45a16079 by willson-chen

https://github.com/glennrp/libpng/commit/52ee16764409ad3eb3513434b4faa19c45a16079
Authored: 2019-07-30 16:01:13 +0800
Committed: 2020-04-27 00:46:06 -0400

Fix a warning on Linux caused by _BSD_SOURCE

I got a warning while compiling under Ubuntu 18.04 and gcc 7.4:
"__BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"

Quote from the Linux Programmer's Manual:
"To allow code that requires _BSD_SOURCE in glibc 2.19 and earlier and
_DEFAULT_SOURCE in glibc 2.20 and later to compile without warnings,
define both _BSD_SOURCE and _DEFAULT_SOURCE."

Files Modified:

  • contrib/libtests/pngvalid.c

eb6767273a4eb5d6f4ad528370d7262cf7aa220c by skal

https://github.com/glennrp/libpng/commit/eb6767273a4eb5d6f4ad528370d7262cf7aa220c
Authored: 2019-07-29 15:22:06 +0200
Committed: 2020-04-27 00:16:36 -0400

Fix memory leak if eXIf has incorrect crc

Problem description:
Imagine a bitstream with an eXIf data segment that has invalid CRC.
If png_crc_finish() fails at line 2090, info_ptr->eXIf_buf is not freed
(despite the free_me setting at line 2062) because png_free_data() is
not called. png_read_info() is actually looping several time over the
png_eXIf chunk, calling png_handle_eXIf() several time in a row without
freeing the buffer.

This patch fixes the problem by leaving info_ptr's content in a clean
state in case of failure, as it is done at line 2084.

Files Modified:

  • pngrutil.c

9f734b13f4ea062af98652c4c7678f667d2d85c7 by David Callu

https://github.com/glennrp/libpng/commit/9f734b13f4ea062af98652c4c7678f667d2d85c7
Authored: 2019-07-04 15:15:53 +0200
Committed: 2020-04-26 23:54:11 -0400

cmake: Use the correct ZLIB_* variable names

ZLIB_LIBRARIES and ZLIB_INCLUDE_DIRS are the official cmake variable
names.

Files Modified:

  • CMakeLists.txt

3cec1a16f5ec9ad925ce71785a2b429b02de5fec by Cosmin Truta

https://github.com/glennrp/libpng/commit/3cec1a16f5ec9ad925ce71785a2b429b02de5fec
Authored: 2020-03-29 23:58:29 -0400
Committed: 2020-03-29 23:58:29 -0400

scripts: Clean up the makefiles

Delete variables (ALIGN, ARCH, DOCS) and targets (writelock) that are
no longer necessary.

Reorder the object file lists alphabetically, consistently across all
makefiles and build scripts.

Apply other minor fixes.

Files Modified:

  • scripts/descrip.mms
  • scripts/makefile.32sunu
  • scripts/makefile.64sunu
  • scripts/makefile.aix
  • scripts/makefile.amiga
  • scripts/makefile.atari
  • scripts/makefile.bc32
  • scripts/makefile.beos
  • scripts/makefile.clang
  • scripts/makefile.darwin
  • scripts/makefile.dec
  • scripts/makefile.dj2
  • scripts/makefile.freebsd
  • scripts/makefile.gcc
  • scripts/makefile.hp64
  • scripts/makefile.hpgcc
  • scripts/makefile.hpux
  • scripts/makefile.ibmc
  • scripts/makefile.intel
  • scripts/makefile.linux
  • scripts/makefile.linux-opt
  • scripts/makefile.mips
  • scripts/makefile.msys
  • scripts/makefile.netbsd
  • scripts/makefile.openbsd
  • scripts/makefile.sco
  • scripts/makefile.sggcc
  • scripts/makefile.sgi
  • scripts/makefile.so9
  • scripts/makefile.solaris
  • scripts/makefile.std
  • scripts/makefile.sunos
  • scripts/makefile.vcwin32
  • scripts/smakefile.ppc

50bd1abdb1ebd53dde48052e651cedb79a2bf001 by Cosmin Truta

https://github.com/glennrp/libpng/commit/50bd1abdb1ebd53dde48052e651cedb79a2bf001
Authored: 2020-03-29 22:26:32 -0400
Committed: 2020-03-29 22:26:32 -0400

scripts: Fix makefile.std and include it in the CI verification

Files Modified:

  • .appveyor.yml
  • .travis.yml
  • scripts/makefile.std

2dd5630eae2a1bafbfb00eee168e1936d3855f02 by Cosmin Truta

https://github.com/glennrp/libpng/commit/2dd5630eae2a1bafbfb00eee168e1936d3855f02
Authored: 2020-03-29 01:11:42 -0400
Committed: 2020-03-29 01:11:42 -0400

Update configuration for Travis CI; add configuration for AppVeyor CI

Exclude the branch "libpng16" from testing. It's identical to "master".
Also exclude the other (non-current) "libpng[0-1][0-7]" branches.

Parallelize the builds and the unit tests.

For Travis CI, update the build matrix as follows:

  • On Linux, use both clang and gcc.
  • On macOS, use clang only, with and without Xcode.

For AppVeyor CI, add a build matrix as follows:

  • On Windows, use Microsoft Visual Studio 2019 on x86, x64 and arm64.
  • Also on Windows, use MSYS2 on x86 and x64.

Use the new scripts/ci_*.sh; remove the old scripts/travis.sh.

Files Added:

  • .appveyor.yml

Files Deleted:

  • scripts/travis.sh

Files Modified:

  • .travis.yml

b9155ce3fd59d348ec23396840648ccaa07a12ca by Cosmin Truta

https://github.com/glennrp/libpng/commit/b9155ce3fd59d348ec23396840648ccaa07a12ca
Authored: 2020-03-29 00:41:33 -0400
Committed: 2020-03-29 00:41:33 -0400

scripts: Add general-purpose utilities for continuous integration

Currently, libpng supports three different types of build automation:
the GNU autotools, CMake, and a legacy of hand-made makefiles.

In order to simplify the continous integration of all of the above
build options, we introduce the following scripts:

  • ci_autotools.sh: CI utility for the Autotools build
  • ci_cmake.sh: CI utility for the CMake build
  • ci_legacy.sh: CI utility for the legacy makefiles

Files Added:

  • scripts/ci_autotools.sh
  • scripts/ci_cmake.sh
  • scripts/ci_legacy.sh

Files Modified:

  • scripts/README.txt

2c0aee56a08fb024dc525037496d807593adf05b by Cosmin Truta

https://github.com/glennrp/libpng/commit/2c0aee56a08fb024dc525037496d807593adf05b
Authored: 2020-02-02 20:02:00 -0500
Committed: 2020-02-02 20:02:00 -0500

Update the copyright year

Files Modified:

  • LICENSE
  • png.c
  • png.h
  • scripts/pnglibconf.dfa
  • scripts/pnglibconf.h.prebuilt

301f7a14295a3bdfaf406dbb5004d0784dc137ea by Christopher Thompson

https://github.com/glennrp/libpng/commit/301f7a14295a3bdfaf406dbb5004d0784dc137ea
Authored: 2018-11-12 09:47:32 -0800
Committed: 2019-04-25 00:37:57 -0400

oss-fuzz: Add custom malloc with max limit to prevent OOM

This adds the custom malloc/free functions from the old
libpng_read_fuzzer to the upstream fuzzer to prevent clusterfuzz
running into OOM.

Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=904054
Contributed-by: Christopher Thompson <cthomp@chromium.org>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>

Files Modified:

  • contrib/oss-fuzz/libpng_read_fuzzer.cc

386707c6d19b974ca2e3db7f5c61873813c6fe44 by Ryan VanderMeulen

https://github.com/glennrp/libpng/commit/386707c6d19b974ca2e3db7f5c61873813c6fe44
Authored: 2019-04-16 12:51:06 -0400
Committed: 2019-04-24 23:57:14 -0400

arm: Use <arm_neon.h> when compiling aarch64 intrinsics with clang-cl

MSVC's <arm64_neon.h> header contains cl.exe intrinsics that are not
recognized by clang-cl.

Contributed-by: Ryan VanderMeulen <rvandermeulen@mozilla.com>
Contributed-by: Mike Klein <mtklein@google.com>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>

Files Modified:

  • arm/filter_neon_intrinsics.c
  • arm/palette_neon_intrinsics.c
  • pngrtran.c

216387f6f7ee043df24a84ab2dc53d2827148b5e by Cosmin Truta

https://github.com/glennrp/libpng/commit/216387f6f7ee043df24a84ab2dc53d2827148b5e
Authored: 2019-04-22 23:56:57 -0400
Committed: 2019-04-22 23:56:57 -0400

arm: Move a png_debug statement to its correct place

It should be placed immediately after all variable declarations.

Files Modified:

  • arm/palette_neon_intrinsics.c

b9e811fa99d98ee1d259ca9d7fcb221fe828ad73 by Cosmin Truta

https://github.com/glennrp/libpng/commit/b9e811fa99d98ee1d259ca9d7fcb221fe828ad73
Authored: 2019-04-22 23:00:58 -0400
Committed: 2019-04-22 23:00:58 -0400

scripts: Delete makefile.clang-asan and makefile.gcc-asan

Travis CI is now running sanitizer-enabled test jobs.

Files Deleted:

  • scripts/makefile.clang-asan
  • scripts/makefile.gcc-asan

cdbb8ec7aaf7baa8316f1c641c3e56e889625212 by Cosmin Truta

https://github.com/glennrp/libpng/commit/cdbb8ec7aaf7baa8316f1c641c3e56e889625212
Authored: 2019-04-22 23:00:58 -0400
Committed: 2019-04-22 23:00:58 -0400

Add support for Travis CI

Files Added:

  • .travis.yml
  • scripts/travis.sh

72fa126446460347a504f3d9b90f24aed1365595 by Cosmin Truta

https://github.com/glennrp/libpng/commit/72fa126446460347a504f3d9b90f24aed1365595
Authored: 2019-04-21 00:30:14 -0400
Committed: 2019-04-21 00:30:14 -0400

Avoid random test failures by running pngtest sequentially only

It is unreliable to run pngtest in parallel, due to competing writes
to the same intermediate/output file ("pngout.png").

Customization of this output file name should be possible, but it is
currently broken.

Files Deleted:

  • tests/pngtest

Files Modified:

  • Makefile.am
  • Makefile.in

Files Changed:

  • R080 tests/pngtest-badpngs

5df8e982e2bad2af7da5ecf689219ca89296c56d by Cosmin Truta

https://github.com/glennrp/libpng/commit/5df8e982e2bad2af7da5ecf689219ca89296c56d
Authored: 2019-04-14 14:10:32 -0400
Committed: 2019-04-14 14:10:32 -0400

Bump version to 1.6.38.git

Files Modified:

  • ANNOUNCE
  • CHANGES
  • CMakeLists.txt
  • README
  • configure
  • configure.ac
  • png.c
  • png.h
  • pngconf.h
  • pngtest.c
  • scripts/libpng-config-head.in
  • scripts/libpng.pc.in
  • scripts/makefile.netbsd
  • scripts/makefile.openbsd
  • scripts/pnglibconf.h.prebuilt

Duplicate of this bug: 1790943

Updatebot encountered an error while trying to apply the mozilla patches. with the following message:

stdout:
Importing local patches...
patch -p1 --directory media/libpng --input /builds/worker/checkouts/gecko/media/libpng/arm.patch --no-backup-if-mismatch
patching file arm/arm_init.c
Hunk #1 FAILED at 34.
1 out of 1 hunk FAILED -- saving rejects to file arm/arm_init.c.rej
patching file arm/filter_neon.S
Error running mach:

['vendor', '--patch-mode', 'only', 'media/libpng/moz.yaml']

The error occurred in code that was called by the mach command. This is either
a bug in the called code itself or in the way that mach is calling it.
You can invoke |./mach busted| to check if this issue is already on file. If it
isn't, please use |./mach busted file vendor| to report it. If |./mach busted| is
misbehaving, you can also inspect the dependencies of bug 1543241.

If filing a bug, please include the full output of mach, including this error
message.

The details of the failure are as follows:

Exception: Process executed with non-0 exit code 1: ['patch', '-p1', '--directory', 'media/libpng', '--input', '/builds/worker/checkouts/gecko/media/libpng/arm.patch', '--no-backup-if-mismatch']

File "/builds/worker/checkouts/gecko/python/mozbuild/mozbuild/vendor/mach_commands.py", line 142, in vendor
patch_mode,
File "/builds/worker/checkouts/gecko/python/mozbuild/mozbuild/vendor/vendor_manifest.py", line 87, in vendor
self.manifest["vendoring"]["vendor-directory"],
File "/builds/worker/checkouts/gecko/python/mozbuild/mozbuild/vendor/vendor_manifest.py", line 704, in import_local_patches
log_name=script,
File "/builds/worker/checkouts/gecko/python/mach/mach/mixin/process.py", line 184, in run_process
"Process executed with non-0 exit code %d: %s" % (status, args)

Updatebot will be unable to do anything more for this library version.

Flags: needinfo?(aosmond)
Assignee: nobody → aosmond
Status: NEW → ASSIGNED
Flags: needinfo?(aosmond)
Pushed by aosmond@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/a5be99357478
Update libpng to version 1.6.39. r=tnikkel
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 109 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: