[LIBPNG] Update to version 1.6.37. CORE-16147

This commit is contained in:
Thomas Faber 2019-06-27 11:09:58 +02:00
parent 430656f0b9
commit d16c9a798a
No known key found for this signature in database
GPG key ID: 076E7C3D44720826
15 changed files with 127 additions and 139 deletions

View file

@ -1,5 +1,5 @@
libpng 1.6.36 - December 1, 2018 libpng 1.6.37 - April 14, 2019
================================ ==============================
This is a public release of libpng, intended for use in production code. This is a public release of libpng, intended for use in production code.
@ -9,13 +9,13 @@ Files available for download
Source files with LF line endings (for Unix/Linux): Source files with LF line endings (for Unix/Linux):
* libpng-1.6.36.tar.xz (LZMA-compressed, recommended) * libpng-1.6.37.tar.xz (LZMA-compressed, recommended)
* libpng-1.6.36.tar.gz * libpng-1.6.37.tar.gz
Source files with CRLF line endings (for Windows): Source files with CRLF line endings (for Windows):
* lp1636.7z (LZMA-compressed, recommended) * lp1637.7z (LZMA-compressed, recommended)
* lp1636.zip * lp1637.zip
Other information: Other information:
@ -25,50 +25,20 @@ Other information:
* TRADEMARK.md * TRADEMARK.md
IMPORTANT licensing update: libpng license v2 Changes since the previous public release (version 1.6.36)
---------------------------------------------
The new libpng license comprises the terms and conditions from the zlib
license, and the disclaimer from the Boost license.
The legacy libpng license, used until libpng-1.6.35, is appended to the
new license, following the precedent established in the Python Software
Foundation License version 2.
From now on, the list of contributing authors shall be maintained in a
separate AUTHORS file. The lists of previous contributing authors,
mentioned in the legacy libpng license and considered to be an integral
part of that license, are kept intact, with no further updates.
Changes since the previous public release (version 1.6.35)
---------------------------------------------------------- ----------------------------------------------------------
* Optimized png_do_expand_palette for ARM processors. * Fixed a use-after-free vulnerability (CVE-2019-7317) in png_image_free.
Improved performance by around 10-22% on a recent ARM Chromebook. * Fixed a memory leak in the ARM NEON implementation of png_do_expand_palette.
(Contributed by Richard Townsend, ARM Holdings) * Fixed a memory leak in pngtest.c.
* Fixed manipulation of machine-specific optimization options. * Fixed two vulnerabilities (CVE-2018-14048, CVE-2018-14550) in
(Contributed by Vicki Pfau) contrib/pngminus; refactor.
* Used memcpy instead of manual pointer arithmetic on Intel SSE2. * Changed the license of contrib/pngminus to MIT; refresh makefile and docs.
(Contributed by Samuel Williams) (Contributed by Willem van Schaik)
* Fixed build errors with MSVC on ARM64. * Fixed a typo in the libpng license v2.
(Contributed by Zhijie Liang) (Contributed by Miguel Ojeda)
* Fixed detection of libm in CMakeLists. * Added makefiles for AddressSanitizer-enabled builds.
(Contributed by Cameron Cawley) * Cleaned up various makefiles.
* Fixed incorrect creation of pkg-config file in CMakeLists.
(Contributed by Kyle Bentley)
* Fixed the CMake build on Windows MSYS by avoiding symlinks.
* Fixed a build warning on OpenBSD.
(Contributed by Theo Buehler)
* Fixed various typos in comments.
(Contributed by "luz.paz")
* Raised the minimum required CMake version from 3.0.2 to 3.1.
* Removed yet more of the vestigial support for pre-ANSI C compilers.
* Removed ancient makefiles for ancient systems that have been broken
across all previous libpng-1.6.x versions.
* Removed the Y2K compliance statement and the export control
information.
* Applied various code style and documentation fixes.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net. Send comments/corrections/commendations to png-mng-implement at lists.sf.net.

View file

@ -6066,31 +6066,44 @@ Version 1.6.35 [July 15, 2018]
Version 1.6.36 [December 1, 2018] Version 1.6.36 [December 1, 2018]
Optimized png_do_expand_palette for ARM processors. Optimized png_do_expand_palette for ARM processors.
Improved performance by around 10-22% on a recent ARM Chromebook. Improved performance by around 10-22% on a recent ARM Chromebook.
(Contributed by Richard Townsend, ARM Holdings) (Contributed by Richard Townsend, ARM Holdings)
Fixed manipulation of machine-specific optimization options. Fixed manipulation of machine-specific optimization options.
(Contributed by Vicki Pfau) (Contributed by Vicki Pfau)
Used memcpy instead of manual pointer arithmetic on Intel SSE2. Used memcpy instead of manual pointer arithmetic on Intel SSE2.
(Contributed by Samuel Williams) (Contributed by Samuel Williams)
Fixed build errors with MSVC on ARM64. Fixed build errors with MSVC on ARM64.
(Contributed by Zhijie Liang) (Contributed by Zhijie Liang)
Fixed detection of libm in CMakeLists. Fixed detection of libm in CMakeLists.
(Contributed by Cameron Cawley) (Contributed by Cameron Cawley)
Fixed incorrect creation of pkg-config file in CMakeLists. Fixed incorrect creation of pkg-config file in CMakeLists.
(Contributed by Kyle Bentley) (Contributed by Kyle Bentley)
Fixed the CMake build on Windows MSYS by avoiding symlinks. Fixed the CMake build on Windows MSYS by avoiding symlinks.
Fixed a build warning on OpenBSD. Fixed a build warning on OpenBSD.
(Contributed by Theo Buehler) (Contributed by Theo Buehler)
Fixed various typos in comments. Fixed various typos in comments.
(Contributed by "luz.paz") (Contributed by "luz.paz")
Raised the minimum required CMake version from 3.0.2 to 3.1. Raised the minimum required CMake version from 3.0.2 to 3.1.
Removed yet more of the vestigial support for pre-ANSI C compilers. Removed yet more of the vestigial support for pre-ANSI C compilers.
Removed ancient makefiles for ancient systems that have been broken Removed ancient makefiles for ancient systems that have been broken
across all previous libpng-1.6.x versions. across all previous libpng-1.6.x versions.
Removed the Y2K compliance statement and the export control Removed the Y2K compliance statement and the export control
information. information.
Applied various code style and documentation fixes. Applied various code style and documentation fixes.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net Version 1.6.37 [April 14, 2019]
(subscription required; visit Fixed a use-after-free vulnerability (CVE-2019-7317) in png_image_free.
Fixed a memory leak in the ARM NEON implementation of png_do_expand_palette.
Fixed a memory leak in pngtest.c.
Fixed two vulnerabilities (CVE-2018-14048, CVE-2018-14550) in
contrib/pngminus; refactor.
Changed the license of contrib/pngminus to MIT; refresh makefile and docs.
(Contributed by Willem van Schaik)
Fixed a typo in the libpng license v2.
(Contributed by Miguel Ojeda)
Added makefiles for AddressSanitizer-enabled builds.
Cleaned up various makefiles.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net.
Subscription is required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement https://lists.sourceforge.net/lists/listinfo/png-mng-implement
to subscribe). to subscribe.

View file

@ -4,8 +4,8 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE
PNG Reference Library License version 2 PNG Reference Library License version 2
--------------------------------------- ---------------------------------------
* Copyright (c) 1995-2018 The PNG Reference Library Authors. * Copyright (c) 1995-2019 The PNG Reference Library Authors.
* Copyright (c) 2018 Cosmin Truta. * Copyright (c) 2018-2019 Cosmin Truta.
* Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson.
* Copyright (c) 1996-1997 Andreas Dilger. * Copyright (c) 1996-1997 Andreas Dilger.
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@ -13,7 +13,7 @@ PNG Reference Library License version 2
The software is supplied "as is", without warranty of any kind, The software is supplied "as is", without warranty of any kind,
express or implied, including, without limitation, the warranties express or implied, including, without limitation, the warranties
of merchantability, fitness for a particular purpose, title, and of merchantability, fitness for a particular purpose, title, and
non-infringement. In no even shall the Copyright owners, or non-infringement. In no event shall the Copyright owners, or
anyone distributing the software, be liable for any damages or anyone distributing the software, be liable for any damages or
other liability, whether in contract, tort or otherwise, arising other liability, whether in contract, tort or otherwise, arising
from, out of, or in connection with the software, or the use or from, out of, or in connection with the software, or the use or
@ -39,7 +39,7 @@ subject to the following restrictions:
PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35) PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35)
----------------------------------------------------------------------- -----------------------------------------------------------------------
libpng versions 1.0.7, July 1, 2000 through 1.6.35, July 15, 2018 are libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are
Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are
derived from libpng-1.0.6, and are distributed according to the same derived from libpng-1.0.6, and are distributed according to the same
disclaimer and license as libpng-1.0.6 with the following individuals disclaimer and license as libpng-1.0.6 with the following individuals

View file

@ -1,5 +1,5 @@
README for libpng version 1.6.36 - December 1, 2018 README for libpng version 1.6.37 - April 14, 2019
=================================================== =================================================
See the note about version numbers near the top of png.h. See the note about version numbers near the top of png.h.
See INSTALL for instructions on how to install libpng. See INSTALL for instructions on how to install libpng.

View file

@ -1,6 +1,6 @@
libpng-manual.txt - A description on how to use and modify libpng libpng-manual.txt - A description on how to use and modify libpng
Copyright (c) 2018 Cosmin Truta Copyright (c) 2018-2019 Cosmin Truta
Copyright (c) 1998-2018 Glenn Randers-Pehrson Copyright (c) 1998-2018 Glenn Randers-Pehrson
This document is released under the libpng license. This document is released under the libpng license.
@ -9,11 +9,11 @@ libpng-manual.txt - A description on how to use and modify libpng
Based on: Based on:
libpng version 1.6.36 - December 1, 2018 libpng version 1.6.36, December 2018, through 1.6.37 - April 2019
Updated and distributed by Cosmin Truta Updated and distributed by Cosmin Truta
Copyright (c) 2018 Cosmin Truta Copyright (c) 2018-2019 Cosmin Truta
libpng versions 0.97, January 1998, through 1.6.35 - July 15, 2018 libpng versions 0.97, January 1998, through 1.6.35 - July 2018
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2018 Glenn Randers-Pehrson Copyright (c) 1998-2018 Glenn Randers-Pehrson

View file

@ -1,7 +1,7 @@
/* png.c - location for general purpose libpng functions /* png.c - location for general purpose libpng functions
* *
* Copyright (c) 2018 Cosmin Truta * Copyright (c) 2018-2019 Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
* Copyright (c) 1996-1997 Andreas Dilger * Copyright (c) 1996-1997 Andreas Dilger
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@ -14,7 +14,7 @@
#include "pngpriv.h" #include "pngpriv.h"
/* Generate a compiler error if there is an old png.h in the search path. */ /* Generate a compiler error if there is an old png.h in the search path. */
typedef png_libpng_version_1_6_36 Your_png_h_is_not_version_1_6_36; typedef png_libpng_version_1_6_37 Your_png_h_is_not_version_1_6_37;
#ifdef __GNUC__ #ifdef __GNUC__
/* The version tests may need to be added to, but the problem warning has /* The version tests may need to be added to, but the problem warning has
@ -815,8 +815,8 @@ png_get_copyright(png_const_structrp png_ptr)
return PNG_STRING_COPYRIGHT return PNG_STRING_COPYRIGHT
#else #else
return PNG_STRING_NEWLINE \ return PNG_STRING_NEWLINE \
"libpng version 1.6.36" PNG_STRING_NEWLINE \ "libpng version 1.6.37" PNG_STRING_NEWLINE \
"Copyright (c) 2018 Cosmin Truta" PNG_STRING_NEWLINE \ "Copyright (c) 2018-2019 Cosmin Truta" PNG_STRING_NEWLINE \
"Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson" \ "Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson" \
PNG_STRING_NEWLINE \ PNG_STRING_NEWLINE \
"Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \ "Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
@ -4588,8 +4588,7 @@ png_image_free(png_imagep image)
if (image != NULL && image->opaque != NULL && if (image != NULL && image->opaque != NULL &&
image->opaque->error_buf == NULL) image->opaque->error_buf == NULL)
{ {
/* Ignore errors here: */ png_image_free_function(image);
(void)png_safe_execute(image, png_image_free_function, image);
image->opaque = NULL; image->opaque = NULL;
} }
} }

View file

@ -1,7 +1,7 @@
/* pngpriv.h - private declarations for use inside libpng /* pngpriv.h - private declarations for use inside libpng
* *
* Copyright (c) 2018 Cosmin Truta * Copyright (c) 2018-2019 Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
* Copyright (c) 1996-1997 Andreas Dilger * Copyright (c) 1996-1997 Andreas Dilger
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@ -2119,11 +2119,11 @@ PNG_INTERNAL_FUNCTION(png_uint_32, png_check_keyword, (png_structrp png_ptr,
#if PNG_ARM_NEON_IMPLEMENTATION == 1 #if PNG_ARM_NEON_IMPLEMENTATION == 1
PNG_INTERNAL_FUNCTION(void, PNG_INTERNAL_FUNCTION(void,
png_riffle_palette_rgba, png_riffle_palette_neon,
(png_structrp, png_row_infop), (png_structrp),
PNG_EMPTY); PNG_EMPTY);
PNG_INTERNAL_FUNCTION(int, PNG_INTERNAL_FUNCTION(int,
png_do_expand_palette_neon_rgba, png_do_expand_palette_rgba8_neon,
(png_structrp, (png_structrp,
png_row_infop, png_row_infop,
png_const_bytep, png_const_bytep,
@ -2131,7 +2131,7 @@ PNG_INTERNAL_FUNCTION(int,
const png_bytepp), const png_bytepp),
PNG_EMPTY); PNG_EMPTY);
PNG_INTERNAL_FUNCTION(int, PNG_INTERNAL_FUNCTION(int,
png_do_expand_palette_neon_rgb, png_do_expand_palette_rgb8_neon,
(png_structrp, (png_structrp,
png_row_infop, png_row_infop,
png_const_bytep, png_const_bytep,

View file

@ -1,7 +1,7 @@
/* pngread.c - read a PNG file /* pngread.c - read a PNG file
* *
* Copyright (c) 2018 Cosmin Truta * Copyright (c) 2018-2019 Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
* Copyright (c) 1996-1997 Andreas Dilger * Copyright (c) 1996-1997 Andreas Dilger
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@ -994,6 +994,12 @@ png_read_destroy(png_structrp png_ptr)
png_ptr->chunk_list = NULL; png_ptr->chunk_list = NULL;
#endif #endif
#if defined(PNG_READ_EXPAND_SUPPORTED) && \
defined(PNG_ARM_NEON_IMPLEMENTATION)
png_free(png_ptr, png_ptr->riffled_palette);
png_ptr->riffled_palette = NULL;
#endif
/* NOTE: the 'setjmp' buffer may still be allocated and the memory and error /* NOTE: the 'setjmp' buffer may still be allocated and the memory and error
* callbacks are still set at this point. They are required to complete the * callbacks are still set at this point. They are required to complete the
* destruction of the png_struct itself. * destruction of the png_struct itself.

View file

@ -1,7 +1,7 @@
/* pngrtran.c - transforms the data in a row for PNG readers /* pngrtran.c - transforms the data in a row for PNG readers
* *
* Copyright (c) 2018 Cosmin Truta * Copyright (c) 2018-2019 Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
* Copyright (c) 1996-1997 Andreas Dilger * Copyright (c) 1996-1997 Andreas Dilger
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@ -1182,20 +1182,20 @@ png_init_palette_transformations(png_structrp png_ptr)
png_ptr->palette[png_ptr->background.index].blue; png_ptr->palette[png_ptr->background.index].blue;
#ifdef PNG_READ_INVERT_ALPHA_SUPPORTED #ifdef PNG_READ_INVERT_ALPHA_SUPPORTED
if ((png_ptr->transformations & PNG_INVERT_ALPHA) != 0) if ((png_ptr->transformations & PNG_INVERT_ALPHA) != 0)
{ {
if ((png_ptr->transformations & PNG_EXPAND_tRNS) == 0) if ((png_ptr->transformations & PNG_EXPAND_tRNS) == 0)
{ {
/* Invert the alpha channel (in tRNS) unless the pixels are /* Invert the alpha channel (in tRNS) unless the pixels are
* going to be expanded, in which case leave it for later * going to be expanded, in which case leave it for later
*/ */
int i, istop = png_ptr->num_trans; int i, istop = png_ptr->num_trans;
for (i=0; i<istop; i++) for (i = 0; i < istop; i++)
png_ptr->trans_alpha[i] = (png_byte)(255 - png_ptr->trans_alpha[i] =
png_ptr->trans_alpha[i]); (png_byte)(255 - png_ptr->trans_alpha[i]);
} }
} }
#endif /* READ_INVERT_ALPHA */ #endif /* READ_INVERT_ALPHA */
} }
} /* background expand and (therefore) no alpha association. */ } /* background expand and (therefore) no alpha association. */
@ -4320,9 +4320,11 @@ png_do_expand_palette(png_structrp png_ptr, png_row_infop row_info,
* but sometimes row_info->bit_depth has been changed to 8. * but sometimes row_info->bit_depth has been changed to 8.
* In these cases, the palette hasn't been riffled. * In these cases, the palette hasn't been riffled.
*/ */
i = png_do_expand_palette_neon_rgba(png_ptr, row_info, row, i = png_do_expand_palette_rgba8_neon(png_ptr, row_info, row,
&sp, &dp); &sp, &dp);
} }
#else
PNG_UNUSED(png_ptr)
#endif #endif
for (; i < row_width; i++) for (; i < row_width; i++)
@ -4349,8 +4351,10 @@ png_do_expand_palette(png_structrp png_ptr, png_row_infop row_info,
dp = row + (size_t)(row_width * 3) - 1; dp = row + (size_t)(row_width * 3) - 1;
i = 0; i = 0;
#ifdef PNG_ARM_NEON_INTRINSICS_AVAILABLE #ifdef PNG_ARM_NEON_INTRINSICS_AVAILABLE
i = png_do_expand_palette_neon_rgb(png_ptr, row_info, row, i = png_do_expand_palette_rgb8_neon(png_ptr, row_info, row,
&sp, &dp); &sp, &dp);
#else
PNG_UNUSED(png_ptr)
#endif #endif
for (; i < row_width; i++) for (; i < row_width; i++)
@ -4770,19 +4774,17 @@ png_do_read_transformations(png_structrp png_ptr, png_row_infop row_info)
#ifdef PNG_ARM_NEON_INTRINSICS_AVAILABLE #ifdef PNG_ARM_NEON_INTRINSICS_AVAILABLE
if ((png_ptr->num_trans > 0) && (png_ptr->bit_depth == 8)) if ((png_ptr->num_trans > 0) && (png_ptr->bit_depth == 8))
{ {
/* Allocate space for the decompressed full palette. */
if (png_ptr->riffled_palette == NULL) if (png_ptr->riffled_palette == NULL)
{ {
png_ptr->riffled_palette = png_malloc(png_ptr, 256*4); /* Initialize the accelerated palette expansion. */
if (png_ptr->riffled_palette == NULL) png_ptr->riffled_palette =
png_error(png_ptr, "NULL row buffer"); (png_bytep)png_malloc(png_ptr, 256 * 4);
/* Build the RGBA palette. */ png_riffle_palette_neon(png_ptr);
png_riffle_palette_rgba(png_ptr, row_info);
} }
} }
#endif #endif
png_do_expand_palette(png_ptr, row_info, png_ptr->row_buf + 1, png_do_expand_palette(png_ptr, row_info, png_ptr->row_buf + 1,
png_ptr->palette, png_ptr->trans_alpha, png_ptr->num_trans); png_ptr->palette, png_ptr->trans_alpha, png_ptr->num_trans);
} }
else else

View file

@ -1,7 +1,7 @@
/* pngstruct.h - header file for PNG reference library /* pngstruct.h - header file for PNG reference library
* *
* Copyright (c) 2018 Cosmin Truta * Copyright (c) 2018-2019 Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
* Copyright (c) 1996-1997 Andreas Dilger * Copyright (c) 1996-1997 Andreas Dilger
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@ -228,10 +228,6 @@ struct png_struct_def
* big_row_buf; while writing it is separately * big_row_buf; while writing it is separately
* allocated. * allocated.
*/ */
#ifdef PNG_READ_EXPAND_SUPPORTED
/* Buffer to accelerate palette transformations. */
png_bytep riffled_palette;
#endif
#ifdef PNG_WRITE_FILTER_SUPPORTED #ifdef PNG_WRITE_FILTER_SUPPORTED
png_bytep try_row; /* buffer to save trial row when filtering */ png_bytep try_row; /* buffer to save trial row when filtering */
png_bytep tst_row; /* buffer to save best trial row when filtering */ png_bytep tst_row; /* buffer to save best trial row when filtering */
@ -396,6 +392,12 @@ struct png_struct_def
/* deleted in 1.5.5: rgb_to_gray_blue_coeff; */ /* deleted in 1.5.5: rgb_to_gray_blue_coeff; */
#endif #endif
/* New member added in libpng-1.6.36 */
#if defined(PNG_READ_EXPAND_SUPPORTED) && \
defined(PNG_ARM_NEON_IMPLEMENTATION)
png_bytep riffled_palette; /* buffer for accelerated palette expansion */
#endif
/* New member added in libpng-1.0.4 (renamed in 1.0.9) */ /* New member added in libpng-1.0.4 (renamed in 1.0.9) */
#if defined(PNG_MNG_FEATURES_SUPPORTED) #if defined(PNG_MNG_FEATURES_SUPPORTED)
/* Changed from png_byte to png_uint_32 at version 1.2.0 */ /* Changed from png_byte to png_uint_32 at version 1.2.0 */

View file

@ -1,7 +1,7 @@
/* pngwrite.c - general routines to write a PNG file /* pngwrite.c - general routines to write a PNG file
* *
* Copyright (c) 2018 Cosmin Truta * Copyright (c) 2018-2019 Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
* Copyright (c) 1996-1997 Andreas Dilger * Copyright (c) 1996-1997 Andreas Dilger
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@ -948,10 +948,6 @@ png_write_destroy(png_structrp png_ptr)
png_free_buffer_list(png_ptr, &png_ptr->zbuffer_list); png_free_buffer_list(png_ptr, &png_ptr->zbuffer_list);
png_free(png_ptr, png_ptr->row_buf); png_free(png_ptr, png_ptr->row_buf);
png_ptr->row_buf = NULL; png_ptr->row_buf = NULL;
#ifdef PNG_READ_EXPANDED_SUPPORTED
png_free(png_ptr, png_ptr->riffled_palette);
png_ptr->riffled_palette = NULL;
#endif
#ifdef PNG_WRITE_FILTER_SUPPORTED #ifdef PNG_WRITE_FILTER_SUPPORTED
png_free(png_ptr, png_ptr->prev_row); png_free(png_ptr, png_ptr->prev_row);
png_free(png_ptr, png_ptr->try_row); png_free(png_ptr, png_ptr->try_row);

View file

@ -91,7 +91,7 @@ Used Version: 2.7.11
Website: https://tls.mbed.org/ Website: https://tls.mbed.org/
Title: libpng Title: libpng
Used Version: 1.6.36 Used Version: 1.6.37
Website: http://libpng.sourceforge.net/ Website: http://libpng.sourceforge.net/
Title: ACPICA Title: ACPICA

View file

@ -1,9 +1,9 @@
/* png.h - header file for PNG reference library /* png.h - header file for PNG reference library
* *
* libpng version 1.6.36 - December 1, 2018 * libpng version 1.6.37 - April 14, 2019
* *
* Copyright (c) 2018 Cosmin Truta * Copyright (c) 2018-2019 Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
* Copyright (c) 1996-1997 Andreas Dilger * Copyright (c) 1996-1997 Andreas Dilger
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@ -14,8 +14,9 @@
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
* libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger * libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger
* libpng versions 0.97, January 1998, through 1.6.35, July 2018: * libpng versions 0.97, January 1998, through 1.6.35, July 2018:
* Glenn Randers-Pehrson. * Glenn Randers-Pehrson
* libpng version 1.6.36, December 1, 2018: Cosmin Truta * libpng versions 1.6.36, December 2018, through 1.6.37, April 2019:
* Cosmin Truta
* See also "Contributing Authors", below. * See also "Contributing Authors", below.
*/ */
@ -26,8 +27,8 @@
* PNG Reference Library License version 2 * PNG Reference Library License version 2
* --------------------------------------- * ---------------------------------------
* *
* * Copyright (c) 1995-2018 The PNG Reference Library Authors. * * Copyright (c) 1995-2019 The PNG Reference Library Authors.
* * Copyright (c) 2018 Cosmin Truta. * * Copyright (c) 2018-2019 Cosmin Truta.
* * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. * * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson.
* * Copyright (c) 1996-1997 Andreas Dilger. * * Copyright (c) 1996-1997 Andreas Dilger.
* * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. * * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@ -35,7 +36,7 @@
* The software is supplied "as is", without warranty of any kind, * The software is supplied "as is", without warranty of any kind,
* express or implied, including, without limitation, the warranties * express or implied, including, without limitation, the warranties
* of merchantability, fitness for a particular purpose, title, and * of merchantability, fitness for a particular purpose, title, and
* non-infringement. In no even shall the Copyright owners, or * non-infringement. In no event shall the Copyright owners, or
* anyone distributing the software, be liable for any damages or * anyone distributing the software, be liable for any damages or
* other liability, whether in contract, tort or otherwise, arising * other liability, whether in contract, tort or otherwise, arising
* from, out of, or in connection with the software, or the use or * from, out of, or in connection with the software, or the use or
@ -61,7 +62,7 @@
* PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35) * PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35)
* ----------------------------------------------------------------------- * -----------------------------------------------------------------------
* *
* libpng versions 1.0.7, July 1, 2000 through 1.6.35, July 15, 2018 are * libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are
* Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are
* derived from libpng-1.0.6, and are distributed according to the same * derived from libpng-1.0.6, and are distributed according to the same
* disclaimer and license as libpng-1.0.6 with the following individuals * disclaimer and license as libpng-1.0.6 with the following individuals
@ -238,7 +239,7 @@
* ... * ...
* 1.5.30 15 10530 15.so.15.30[.0] * 1.5.30 15 10530 15.so.15.30[.0]
* ... * ...
* 1.6.36 16 10636 16.so.16.36[.0] * 1.6.37 16 10637 16.so.16.37[.0]
* *
* Henceforth the source version will match the shared-library major and * Henceforth the source version will match the shared-library major and
* minor numbers; the shared-library major version number will be used for * minor numbers; the shared-library major version number will be used for
@ -277,8 +278,8 @@
*/ */
/* Version information for png.h - this should match the version in png.c */ /* Version information for png.h - this should match the version in png.c */
#define PNG_LIBPNG_VER_STRING "1.6.36" #define PNG_LIBPNG_VER_STRING "1.6.37"
#define PNG_HEADER_VERSION_STRING " libpng version 1.6.36 - December 1, 2018\n" #define PNG_HEADER_VERSION_STRING " libpng version 1.6.37 - April 14, 2019\n"
#define PNG_LIBPNG_VER_SONUM 16 #define PNG_LIBPNG_VER_SONUM 16
#define PNG_LIBPNG_VER_DLLNUM 16 #define PNG_LIBPNG_VER_DLLNUM 16
@ -286,12 +287,11 @@
/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */ /* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
#define PNG_LIBPNG_VER_MAJOR 1 #define PNG_LIBPNG_VER_MAJOR 1
#define PNG_LIBPNG_VER_MINOR 6 #define PNG_LIBPNG_VER_MINOR 6
#define PNG_LIBPNG_VER_RELEASE 36 #define PNG_LIBPNG_VER_RELEASE 37
/* This should match the numeric part of the final component of /* This should be zero for a public release, or non-zero for a
* PNG_LIBPNG_VER_STRING, omitting any leading zero: * development version. [Deprecated]
*/ */
#define PNG_LIBPNG_VER_BUILD 0 #define PNG_LIBPNG_VER_BUILD 0
/* Release Status */ /* Release Status */
@ -318,7 +318,7 @@
* From version 1.0.1 it is: * From version 1.0.1 it is:
* XXYYZZ, where XX=major, YY=minor, ZZ=release * XXYYZZ, where XX=major, YY=minor, ZZ=release
*/ */
#define PNG_LIBPNG_VER 10636 /* 1.6.36 */ #define PNG_LIBPNG_VER 10637 /* 1.6.37 */
/* Library configuration: these options cannot be changed after /* Library configuration: these options cannot be changed after
* the library has been built. * the library has been built.
@ -428,7 +428,7 @@ extern "C" {
/* This triggers a compiler error in png.c, if png.c and png.h /* This triggers a compiler error in png.c, if png.c and png.h
* do not agree upon the version number. * do not agree upon the version number.
*/ */
typedef char* png_libpng_version_1_6_36; typedef char* png_libpng_version_1_6_37;
/* Basic control structions. Read libpng-manual.txt or libpng.3 for more info. /* Basic control structions. Read libpng-manual.txt or libpng.3 for more info.
* *

View file

@ -1,9 +1,9 @@
/* pngconf.h - machine configurable file for libpng /* pngconf.h - machine-configurable file for libpng
* *
* libpng version 1.6.36 * libpng version 1.6.37
* *
* Copyright (c) 2018 Cosmin Truta * Copyright (c) 2018-2019 Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2016,2018 Glenn Randers-Pehrson * Copyright (c) 1998-2002,2004,2006-2016,2018 Glenn Randers-Pehrson
* Copyright (c) 1996-1997 Andreas Dilger * Copyright (c) 1996-1997 Andreas Dilger
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.

View file

@ -1,8 +1,8 @@
/* pnglibconf.h - library build configuration */ /* pnglibconf.h - library build configuration */
/* libpng version 1.6.36 */ /* libpng version 1.6.37 */
/* Copyright (c) 2018 Cosmin Truta */ /* Copyright (c) 2018-2019 Cosmin Truta */
/* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson */ /* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson */
/* This code is released under the libpng license. */ /* This code is released under the libpng license. */