[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.
This commit is contained in:
Glenn Randers-Pehrson 2015-02-21 13:56:53 -06:00
parent 41b240500f
commit 4d78519f99
4 changed files with 58 additions and 21 deletions

View File

@ -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 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. 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 Source files with LF line endings (for Unix/Linux) and with a
"configure" script "configure" script
libpng-1.2.53rc01.tar.xz (LZMA-compressed, recommended) libpng-1.2.53rc02.tar.xz (LZMA-compressed, recommended)
libpng-1.2.53rc01.tar.gz libpng-1.2.53rc02.tar.gz
libpng-1.2.53rc01.tar.bz2 libpng-1.2.53rc02.tar.bz2
Source files with LF line endings (for Unix/Linux) without the Source files with LF line endings (for Unix/Linux) without the
"configure" script "configure" script
libpng-1.2.53rc01-no-config.tar.xz (LZMA-compressed, recommended) libpng-1.2.53rc02-no-config.tar.xz (LZMA-compressed, recommended)
libpng-1.2.53rc01-no-config.tar.gz libpng-1.2.53rc02-no-config.tar.gz
libpng-1.2.53rc01-no-config.tar.bz2 libpng-1.2.53rc02-no-config.tar.bz2
Source files with CRLF line endings (for Windows), without the Source files with CRLF line endings (for Windows), without the
"configure" script "configure" script
lp1253r01.zip lp1253r02.zip
lp1253r01.7z lp1253r02.7z
lp1253r01.tar.bz2 lp1253r02.tar.bz2
Project files Project files
libpng-1.2.53rc01-project-netware.zip libpng-1.2.53rc02-project-netware.zip
libpng-1.2.53rc01-project-wince.zip libpng-1.2.53rc02-project-wince.zip
Other information: Other information:
libpng-1.2.53rc01-README.txt libpng-1.2.53rc02-README.txt
libpng-1.2.53rc01-KNOWNBUGS.txt libpng-1.2.53rc02-KNOWNBUGS.txt
libpng-1.2.53rc01-LICENSE.txt libpng-1.2.53rc02-LICENSE.txt
libpng-1.2.53rc01-Y2K-compliance.txt libpng-1.2.53rc02-Y2K-compliance.txt
libpng-1.2.53rc01-[previous version]-diff.txt libpng-1.2.53rc02-[previous version]-diff.txt
libpng-1.2.53rc01-*.asc (armored detached GPG signatures) libpng-1.2.53rc02-*.asc (armored detached GPG signatures)
Changes since the last public release (1.2.52): 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] version 1.2.53rc01 [February 12, 2015]
No changes. 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 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit (subscription required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement https://lists.sourceforge.net/lists/listinfo/png-mng-implement

View File

@ -2840,6 +2840,14 @@ version 1.2.53beta02 [February 6, 2015]
version 1.2.53rc01 [February 12, 2015] version 1.2.53rc01 [February 12, 2015]
No changes. 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 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit (subscription required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement https://lists.sourceforge.net/lists/listinfo/png-mng-implement

View File

@ -1,7 +1,7 @@
/* pngconf.h - machine configurable file for libpng /* 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 * Copyright (c) 1998-2013 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@ -885,7 +885,7 @@
/* Added at libpng-1.2.43 */ /* Added at libpng-1.2.43 */
#ifndef PNG_USER_CHUNK_MALLOC_MAX #ifndef PNG_USER_CHUNK_MALLOC_MAX
# define PNG_USER_CHUNK_MALLOC_MAX 0 # define PNG_USER_CHUNK_MALLOC_MAX 8000000
#endif #endif
#ifndef PNG_LITERAL_SHARP #ifndef PNG_LITERAL_SHARP

View File

@ -1456,6 +1456,8 @@ main(int argc, char *argv[])
int multiple = 0; int multiple = 0;
int ierror = 0; int ierror = 0;
png_structp dummy_ptr;
fprintf(STDERR, "\n Testing libpng version %s\n", PNG_LIBPNG_VER_STRING); fprintf(STDERR, "\n Testing libpng version %s\n", PNG_LIBPNG_VER_STRING);
fprintf(STDERR, " with zlib version %s\n", ZLIB_VERSION); fprintf(STDERR, " with zlib version %s\n", ZLIB_VERSION);
fprintf(STDERR, "%s", png_get_copyright(NULL)); fprintf(STDERR, "%s", png_get_copyright(NULL));
@ -1698,8 +1700,27 @@ main(int argc, char *argv[])
fprintf(STDERR, " libpng passes test\n"); fprintf(STDERR, " libpng passes test\n");
else else
fprintf(STDERR, " libpng FAILS test\n"); 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); return (int)(ierror != 0);
} }
/* 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 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;