From 4d78519f994cb1a130da13091058ffc322e55d5f Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Sat, 21 Feb 2015 13:56:53 -0600 Subject: [PATCH] [libpng12] Changed PNG_USER_CHUNK_MALLOC_MAX from unlimited to 8,000,000. This can only be changed at library-build time. It only affects the maximum memory that can be allocated to an ancillary chunk; it does not limit the size of IDAT data, which is instead limited by PNG_USER_WIDTH_MAX. Display user limits in the output from pngtest. --- ANNOUNCE | 44 ++++++++++++++++++++++++++------------------ CHANGES | 8 ++++++++ pngconf.h | 4 ++-- pngtest.c | 23 ++++++++++++++++++++++- 4 files changed, 58 insertions(+), 21 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index 18b44335..a0a9b115 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,5 +1,5 @@ -Libpng 1.2.53rc01 - February 12, 2015 +Libpng 1.2.53rc02 - February 21, 2015 This is not intended to be a public release. It will be replaced within a few weeks by a public version or by another test version. @@ -9,37 +9,37 @@ Files available for download: Source files with LF line endings (for Unix/Linux) and with a "configure" script - libpng-1.2.53rc01.tar.xz (LZMA-compressed, recommended) - libpng-1.2.53rc01.tar.gz - libpng-1.2.53rc01.tar.bz2 + libpng-1.2.53rc02.tar.xz (LZMA-compressed, recommended) + libpng-1.2.53rc02.tar.gz + libpng-1.2.53rc02.tar.bz2 Source files with LF line endings (for Unix/Linux) without the "configure" script - libpng-1.2.53rc01-no-config.tar.xz (LZMA-compressed, recommended) - libpng-1.2.53rc01-no-config.tar.gz - libpng-1.2.53rc01-no-config.tar.bz2 + libpng-1.2.53rc02-no-config.tar.xz (LZMA-compressed, recommended) + libpng-1.2.53rc02-no-config.tar.gz + libpng-1.2.53rc02-no-config.tar.bz2 Source files with CRLF line endings (for Windows), without the "configure" script - lp1253r01.zip - lp1253r01.7z - lp1253r01.tar.bz2 + lp1253r02.zip + lp1253r02.7z + lp1253r02.tar.bz2 Project files - libpng-1.2.53rc01-project-netware.zip - libpng-1.2.53rc01-project-wince.zip + libpng-1.2.53rc02-project-netware.zip + libpng-1.2.53rc02-project-wince.zip Other information: - libpng-1.2.53rc01-README.txt - libpng-1.2.53rc01-KNOWNBUGS.txt - libpng-1.2.53rc01-LICENSE.txt - libpng-1.2.53rc01-Y2K-compliance.txt - libpng-1.2.53rc01-[previous version]-diff.txt - libpng-1.2.53rc01-*.asc (armored detached GPG signatures) + libpng-1.2.53rc02-README.txt + libpng-1.2.53rc02-KNOWNBUGS.txt + libpng-1.2.53rc02-LICENSE.txt + libpng-1.2.53rc02-Y2K-compliance.txt + libpng-1.2.53rc02-[previous version]-diff.txt + libpng-1.2.53rc02-*.asc (armored detached GPG signatures) Changes since the last public release (1.2.52): @@ -55,6 +55,14 @@ version 1.2.53beta02 [February 6, 2015] version 1.2.53rc01 [February 12, 2015] No changes. +version 1.2.53rc02 [February 21, 2015] + Display user limits in the output from pngtest. + Changed PNG_USER_CHUNK_MALLOC_MAX from unlimited to 8,000,000. + This can only be changed at library-build time. It only + affects the maximum memory that can be allocated to an + ancillary chunk; it does not limit the size of IDAT + data, which is instead limited by PNG_USER_WIDTH_MAX. + Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement diff --git a/CHANGES b/CHANGES index d8cd910a..331458de 100644 --- a/CHANGES +++ b/CHANGES @@ -2840,6 +2840,14 @@ version 1.2.53beta02 [February 6, 2015] version 1.2.53rc01 [February 12, 2015] No changes. +version 1.2.53rc02 [February 21, 2015] + Display user limits in the output from pngtest. + Changed PNG_USER_CHUNK_MALLOC_MAX from unlimited to 8,000,000. + This can only be changed at library-build time. It only + affects the maximum memory that can be allocated to an + ancillary chunk; it does not limit the size of IDAT + data, which is instead limited by PNG_USER_WIDTH_MAX. + Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement diff --git a/pngconf.h b/pngconf.h index 23090f5d..3ff24bad 100644 --- a/pngconf.h +++ b/pngconf.h @@ -1,7 +1,7 @@ /* pngconf.h - machine configurable file for libpng * - * libpng version 1.2.53rc01 - February 12, 2015 + * libpng version 1.2.53rc02 - February 21, 2015 * Copyright (c) 1998-2013 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) @@ -885,7 +885,7 @@ /* Added at libpng-1.2.43 */ #ifndef PNG_USER_CHUNK_MALLOC_MAX -# define PNG_USER_CHUNK_MALLOC_MAX 0 +# define PNG_USER_CHUNK_MALLOC_MAX 8000000 #endif #ifndef PNG_LITERAL_SHARP diff --git a/pngtest.c b/pngtest.c index 5c95b2f7..0879aa2a 100644 --- a/pngtest.c +++ b/pngtest.c @@ -1456,6 +1456,8 @@ main(int argc, char *argv[]) int multiple = 0; int ierror = 0; + png_structp dummy_ptr; + fprintf(STDERR, "\n Testing libpng version %s\n", PNG_LIBPNG_VER_STRING); fprintf(STDERR, " with zlib version %s\n", ZLIB_VERSION); fprintf(STDERR, "%s", png_get_copyright(NULL)); @@ -1698,8 +1700,27 @@ main(int argc, char *argv[]) fprintf(STDERR, " libpng passes test\n"); else fprintf(STDERR, " libpng FAILS test\n"); + + dummy_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); + fprintf(STDERR, " Default limits:\n"); + fprintf(STDERR, " width_max = %lu\n", + (unsigned long) png_get_user_width_max(dummy_ptr)); + fprintf(STDERR, " height_max = %lu\n", + (unsigned long) png_get_user_height_max(dummy_ptr)); + if (PNG_USER_CHUNK_CACHE_MAX == 0) + fprintf(STDERR, " cache_max = unlimited\n"); + else + fprintf(STDERR, " cache_max = %lu\n", + (unsigned long) PNG_USER_CHUNK_CACHE_MAX); + if (PNG_USER_CHUNK_MALLOC_MAX == 0) + fprintf(STDERR, " malloc_max = unlimited\n"); + else + fprintf(STDERR, " malloc_max = %lu\n", + (unsigned long) PNG_USER_CHUNK_MALLOC_MAX); + png_destroy_read_struct(&dummy_ptr, NULL, NULL); + return (int)(ierror != 0); } /* Generate a compiler error if there is an old png.h in the search path. */ -typedef version_1_2_53rc01 your_png_h_is_not_version_1_2_53rc01; +typedef version_1_2_53rc02 your_png_h_is_not_version_1_2_53rc02;