diff options
author | Glenn Randers-Pehrson <glennrp at users.sourceforge.net> | 2017-08-18 19:34:21 -0500 |
---|---|---|
committer | Glenn Randers-Pehrson <glennrp at users.sourceforge.net> | 2017-08-18 19:59:56 -0500 |
commit | b72f5cabd7dad3ba1879809370b9e2818b911e7c (patch) | |
tree | 1acc87ef0a3b427512c54cdc5c659d585af1316e | |
parent | 3018236c7e1be120a31239ba713d2df969671232 (diff) | |
download | libpng-b72f5cabd7dad3ba1879809370b9e2818b911e7c.tar.gz |
[libpng14] Imported from libpng-1.4.21rc01.tarv1.4.21rc01
-rw-r--r-- | ANNOUNCE | 20 | ||||
-rw-r--r-- | CHANGES | 4 | ||||
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | INSTALL | 4 | ||||
-rw-r--r-- | LICENSE | 4 | ||||
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | Makefile.in | 2 | ||||
-rw-r--r-- | README | 12 | ||||
-rwxr-xr-x | configure | 22 | ||||
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | contrib/pngminus/png2pnm.c | 58 | ||||
-rw-r--r-- | contrib/pngminus/pnm2png.c | 20 | ||||
-rw-r--r-- | libpng-1.4.21rc01.txt (renamed from libpng-1.4.21beta01.txt) | 8 | ||||
-rw-r--r-- | libpng.3 | 18 | ||||
-rw-r--r-- | libpngpf.3 | 4 | ||||
-rw-r--r-- | png.5 | 2 | ||||
-rw-r--r-- | png.c | 6 | ||||
-rw-r--r-- | png.h | 18 | ||||
-rw-r--r-- | pngconf.h | 2 | ||||
-rw-r--r-- | pngpriv.h | 2 | ||||
-rw-r--r-- | pngread.c | 2 | ||||
-rw-r--r-- | pngrutil.c | 2 | ||||
-rw-r--r-- | pngtest.c | 2 | ||||
-rw-r--r-- | projects/vstudio/readme.txt | 2 | ||||
-rw-r--r-- | projects/vstudio/zlib.props | 2 | ||||
-rw-r--r-- | scripts/README.txt | 12 | ||||
-rwxr-xr-x | scripts/libpng-config-head.in | 2 | ||||
-rw-r--r-- | scripts/libpng.pc.in | 2 | ||||
-rw-r--r-- | scripts/makefile.ne12bsd | 2 | ||||
-rw-r--r-- | scripts/makefile.netbsd | 2 | ||||
-rw-r--r-- | scripts/makefile.openbsd | 2 | ||||
-rw-r--r-- | scripts/png32ce.def | 2 | ||||
-rw-r--r-- | scripts/pngos2.def | 2 | ||||
-rw-r--r-- | scripts/pngwin.def | 2 |
34 files changed, 144 insertions, 108 deletions
@@ -1,5 +1,5 @@ -Libpng 1.4.21beta01 - August 7, 2017 +Libpng 1.4.21rc01 - August 19, 2017 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,28 +9,30 @@ Files available for download: Source files with LF line endings (for Unix/Linux) and with a "configure" script - 1.4.21beta01.tar.xz (LZMA-compressed, recommended) - 1.4.21beta01.tar.gz + 1.4.21rc01.tar.xz (LZMA-compressed, recommended) + 1.4.21rc01.tar.gz Source files with CRLF line endings (for Windows), without the "configure" script - lp1421b01.7z (LZMA-compressed, recommended) - lp1421b01.zip + lp1421r01.7z (LZMA-compressed, recommended) + lp1421r01.zip Other information: - 1.4.21beta01-README.txt - 1.4.21beta01-LICENSE.txt - libpng-1.4.21beta01-*.asc (armored detached GPG signatures) + 1.4.21rc01-README.txt + 1.4.21rc01-LICENSE.txt + libpng-1.4.21rc01-*.asc (armored detached GPG signatures) Changes since the last public release (1.4.20): -version 1.4.21 [%RDATE%] +version 1.4.21beta [August 9, 2017] Moved chunk-name and chunk-length checks into PNG_EXTERN private png_check_chunk_name() and png_check_chunk_length() functions (Suggested by Max Stepin). +version 1.4.21rc01 [%RDATE%] + Send comments/corrections/commendations to glennrp at users.sourceforge.net or to png-mng-implement at lists.sf.net (subscription required; visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement). @@ -3043,11 +3043,13 @@ version 1.4.20 [December 29, 2016] Fixed a potential null pointer dereference in png_set_text_2() (bug report and patch by Patrick Keshishian, CVE-2016-10087). -version 1.4.21 [August 7, 2017] +version 1.4.21beta [August 9, 2017] Moved chunk-name and chunk-length checks into PNG_EXTERN private png_check_chunk_name() and png_check_chunk_length() functions (Suggested by Max Stepin). +version 1.4.21rc01 [August 19, 2017] + Send comments/corrections/commendations to glennrp at users.sourceforge.net or to png-mng-implement at lists.sf.net (subscription required; visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement). diff --git a/CMakeLists.txt b/CMakeLists.txt index a69cf3e80..b6b5f38aa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -255,7 +255,7 @@ install(CODE ${PNG_CONFIG_INSTALL_CODE}) # SET UP LINKS if(PNG_SHARED) set_target_properties(${PNG_LIB_NAME} PROPERTIES -# VERSION 14.${PNGLIB_RELEASE}.1.4.21beta01 +# VERSION 14.${PNGLIB_RELEASE}.1.4.21rc01 VERSION 14.${PNGLIB_RELEASE}.0 SOVERSION 14 CLEAN_DIRECT_OUTPUT 1) @@ -1,5 +1,5 @@ -Installing libpng version 1.4.21beta01 - August 7, 2017 +Installing libpng version 1.4.21rc01 - August 19, 2017 On Unix/Linux and similar systems, you can simply type @@ -46,7 +46,7 @@ to have access to the zlib.h and zconf.h include files that correspond to the version of zlib that's installed. You can rename the directories that you downloaded (they -might be called "libpng-1.4.21beta01" or "libpng14" and "zlib-1.2.3" +might be called "libpng-1.4.21rc01" or "libpng14" and "zlib-1.2.3" or "zlib123") so that you have directories called "zlib" and "libpng". Your directory structure should look like this: @@ -10,7 +10,7 @@ this sentence. This code is released under the libpng license. -libpng versions 1.0.7, July 1, 2000, through 1.4.21beta01, August 7, 2017, are +libpng versions 1.0.7, July 1, 2000, through 1.4.21rc01, August 19, 2017, are Copyright (c) 2000-2002, 2004, 2006-2017 Glenn Randers-Pehrson, are 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 @@ -107,4 +107,4 @@ the additional disclaimers inserted at version 1.0.7. Glenn Randers-Pehrson glennrp at users.sourceforge.net -August 7, 2017 +August 19, 2017 diff --git a/Makefile.am b/Makefile.am index 7dd29de99..b1008435e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -79,7 +79,7 @@ EXTRA_DIST= \ ${srcdir}/contrib/pngsuite/* \ ${srcdir}/contrib/visupng/* \ $(TESTS) \ - example.c libpng-1.4.21beta01.txt + example.c libpng-1.4.21rc01.txt CLEANFILES= pngout.png libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.pc libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@-config libpng.vers \ libpng.sym diff --git a/Makefile.in b/Makefile.in index 5143ee0e2..1d0a08803 100644 --- a/Makefile.in +++ b/Makefile.in @@ -628,7 +628,7 @@ EXTRA_DIST = \ ${srcdir}/contrib/pngsuite/* \ ${srcdir}/contrib/visupng/* \ $(TESTS) \ - example.c libpng-1.4.21beta01.txt + example.c libpng-1.4.21rc01.txt CLEANFILES = pngout.png libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.pc libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@-config libpng.vers \ libpng.sym @@ -1,4 +1,4 @@ -README for libpng version 1.4.21beta01 - August 7, 2017 (shared library 14.0) +README for libpng version 1.4.21rc01 - August 19, 2017 (shared library 14.0) See the note about version numbers near the top of png.h See INSTALL for instructions on how to install libpng. @@ -187,9 +187,9 @@ Files in this distribution: makefile.std => Generic UNIX makefile (cc, creates static libpng.a) makefile.elf => Linux/ELF makefile symbol versioning, - (gcc, creates libpng14.so.14.1.4.21beta01) + (gcc, creates libpng14.so.14.1.4.21rc01) makefile.linux => Linux/ELF makefile - (gcc, creates libpng14.so.14.1.4.21beta01) + (gcc, creates libpng14.so.14.1.4.21rc01) makefile.gcc => Generic makefile (gcc, creates static libpng.a) makefile.knr => Archaic UNIX Makefile that converts files with ansi2knr (Requires ansi2knr.c from @@ -211,12 +211,12 @@ Files in this distribution: makefile.openbsd => OpenBSD makefile makefile.sgi => Silicon Graphics IRIX (cc, creates static lib) makefile.sggcc => Silicon Graphics - (gcc, creates libpng14.so.14.1.4.21beta01) + (gcc, creates libpng14.so.14.1.4.21rc01) makefile.sunos => Sun makefile makefile.solaris => Solaris 2.X makefile - (gcc, creates libpng14.so.14.1.4.21beta01) + (gcc, creates libpng14.so.14.1.4.21rc01) makefile.so9 => Solaris 9 makefile - (gcc, creates libpng14.so.14.1.4.21beta01) + (gcc, creates libpng14.so.14.1.4.21rc01) makefile.32sunu => Sun Ultra 32-bit makefile makefile.64sunu => Sun Ultra 64-bit makefile makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for libpng 1.4.21beta01. +# Generated by GNU Autoconf 2.69 for libpng 1.4.21rc01. # # Report bugs to <png-mng-implement@lists.sourceforge.net>. # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='libpng' PACKAGE_TARNAME='libpng' -PACKAGE_VERSION='1.4.21beta01' -PACKAGE_STRING='libpng 1.4.21beta01' +PACKAGE_VERSION='1.4.21rc01' +PACKAGE_STRING='libpng 1.4.21rc01' PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net' PACKAGE_URL='' @@ -1333,7 +1333,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libpng 1.4.21beta01 to adapt to many kinds of systems. +\`configure' configures libpng 1.4.21rc01 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1403,7 +1403,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libpng 1.4.21beta01:";; + short | recursive ) echo "Configuration of libpng 1.4.21rc01:";; esac cat <<\_ACEOF @@ -1520,7 +1520,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libpng configure 1.4.21beta01 +libpng configure 1.4.21rc01 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1943,7 +1943,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libpng $as_me 1.4.21beta01, which was +It was created by libpng $as_me 1.4.21rc01, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2806,7 +2806,7 @@ fi # Define the identity of the package. PACKAGE='libpng' - VERSION='1.4.21beta01' + VERSION='1.4.21rc01' cat >>confdefs.h <<_ACEOF @@ -2923,7 +2923,7 @@ fi -PNGLIB_VERSION=1.4.21beta01 +PNGLIB_VERSION=1.4.21rc01 PNGLIB_MAJOR=1 PNGLIB_MINOR=4 PNGLIB_RELEASE=21 @@ -13615,7 +13615,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libpng $as_me 1.4.21beta01, which was +This file was extended by libpng $as_me 1.4.21rc01, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -13681,7 +13681,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -libpng config.status 1.4.21beta01 +libpng config.status 1.4.21rc01 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 564c7937d..ced9d2a56 100644 --- a/configure.ac +++ b/configure.ac @@ -16,14 +16,14 @@ dnl should not be necessary to regenerate configure if the time dnl stamps are correct AC_PREREQ(2.59) -AC_INIT([libpng], [1.4.21beta01], [png-mng-implement@lists.sourceforge.net]) +AC_INIT([libpng], [1.4.21rc01], [png-mng-implement@lists.sourceforge.net]) AM_INIT_AUTOMAKE dnl stop configure from automagically running automake AM_MAINTAINER_MODE dnl Version number stuff here: -PNGLIB_VERSION=1.4.21beta01 +PNGLIB_VERSION=1.4.21rc01 PNGLIB_MAJOR=1 PNGLIB_MINOR=4 PNGLIB_RELEASE=21 diff --git a/contrib/pngminus/png2pnm.c b/contrib/pngminus/png2pnm.c index b1b9fd3ea..39a9f4673 100644 --- a/contrib/pngminus/png2pnm.c +++ b/contrib/pngminus/png2pnm.c @@ -1,8 +1,11 @@ /* * png2pnm.c --- conversion from PNG-file to PGM/PPM-file - * copyright (C) 1999 by Willem van Schaik <willem@schaik.com> + * copyright (C) 1999,2017 by Willem van Schaik <willem at schaik.com> * * version 1.0 - 1999.10.15 - First version. + * 1.1 - 2017.04.22 - Add buffer-size check (Glenn Randers-Pehrson) + * 1.2 - 2017.08.24 - Fix potential overflow in buffer-size check + (Glenn Randers-Pehrson) * * Permission to use, copy, modify, and distribute this software and * its documentation for any purpose and without fee is hereby granted, @@ -18,6 +21,7 @@ #include <mem.h> #include <fcntl.h> #endif +#include <zlib.h> #ifndef BOOL #define BOOL unsigned char @@ -51,7 +55,8 @@ int main (int argc, char *argv[]); void usage (); -BOOL png2pnm (FILE *png_file, FILE *pnm_file, FILE *alpha_file, BOOL raw, BOOL alpha); +BOOL png2pnm (FILE *png_file, FILE *pnm_file, FILE *alpha_file, BOOL raw, + BOOL alpha); /* * main @@ -84,7 +89,8 @@ int main(int argc, char *argv[]) if ((fp_al = fopen (argv[argi], "wb")) == NULL) { fprintf (stderr, "PNM2PNG\n"); - fprintf (stderr, "Error: can not create alpha-channel file %s\n", argv[argi]); + fprintf (stderr, "Error: can not create alpha-channel file %s\n", + argv[argi]); exit (1); } break; @@ -144,7 +150,7 @@ int main(int argc, char *argv[]) if (png2pnm (fp_rd, fp_wr, fp_al, raw, alpha) == FALSE) { fprintf (stderr, "PNG2PNM\n"); - fprintf (stderr, "Error: unsuccessful convertion of PNG-image\n"); + fprintf (stderr, "Error: unsuccessful conversion of PNG-image\n"); exit(1); } @@ -175,9 +181,11 @@ void usage() fprintf (stderr, "Usage: png2pnm [options] <file>.png [<file>.pnm]\n"); fprintf (stderr, " or: ... | png2pnm [options]\n"); fprintf (stderr, "Options:\n"); - fprintf (stderr, " -r[aw] write pnm-file in binary format (P4/P5/P6) (default)\n"); + fprintf (stderr, + " -r[aw] write pnm-file in binary format (P4/P5/P6) (default)\n"); fprintf (stderr, " -n[oraw] write pnm-file in ascii format (P1/P2/P3)\n"); - fprintf (stderr, " -a[lpha] <file>.pgm write PNG alpha channel as pgm-file\n"); + fprintf (stderr, + " -a[lpha] <file>.pgm write PNG alpha channel as pgm-file\n"); fprintf (stderr, " -h | -? print this help-information\n"); } @@ -185,10 +193,11 @@ void usage() * png2pnm */ -BOOL png2pnm (FILE *png_file, FILE *pnm_file, FILE *alpha_file, BOOL raw, BOOL alpha) +BOOL png2pnm (FILE *png_file, FILE *pnm_file, FILE *alpha_file, + volatile BOOL raw, BOOL alpha) { png_struct *png_ptr = NULL; - png_info *info_ptr = NULL; + png_info *info_ptr = NULL; png_byte buf[8]; png_byte *png_pixels = NULL; png_byte **row_pointers = NULL; @@ -217,7 +226,7 @@ BOOL png2pnm (FILE *png_file, FILE *pnm_file, FILE *alpha_file, BOOL raw, BOOL a /* create png and info structures */ - png_ptr = png_create_read_struct (PNG_LIBPNG_VER_STRING, + png_ptr = png_create_read_struct (png_get_libpng_ver(NULL), NULL, NULL, NULL); if (!png_ptr) return FALSE; /* out of memory */ @@ -260,7 +269,7 @@ BOOL png2pnm (FILE *png_file, FILE *pnm_file, FILE *alpha_file, BOOL raw, BOOL a png_set_expand (png_ptr); #ifdef NJET - /* downgrade 16-bit images to 8 bit */ + /* downgrade 16-bit images to 8-bit */ if (bit_depth == 16) png_set_strip_16 (png_ptr); /* transform grayscale images into full-color */ @@ -314,12 +323,21 @@ BOOL png2pnm (FILE *png_file, FILE *pnm_file, FILE *alpha_file, BOOL raw, BOOL a /* row_bytes is the width x number of channels x (bit-depth / 8) */ row_bytes = png_get_rowbytes (png_ptr, info_ptr); - if ((png_pixels = (png_byte *) malloc (row_bytes * height * sizeof (png_byte))) == NULL) { + if ((row_bytes == 0 || (size_t)height > ((size_t)(-1))/(size_t)row_bytes)) + { + /* too big */ + png_destroy_read_struct (&png_ptr, &info_ptr, NULL); + return FALSE; + } + if ((png_pixels = (png_byte *) + malloc ((size_t)row_bytes * (size_t)height * sizeof (png_byte))) == NULL) + { png_destroy_read_struct (&png_ptr, &info_ptr, NULL); return FALSE; } - if ((row_pointers = (png_byte **) malloc (height * sizeof (png_bytep))) == NULL) + if ((row_pointers = (png_byte **) + malloc ((size_t)height * sizeof (png_bytep))) == NULL) { png_destroy_read_struct (&png_ptr, &info_ptr, NULL); free (png_pixels); @@ -328,7 +346,7 @@ BOOL png2pnm (FILE *png_file, FILE *pnm_file, FILE *alpha_file, BOOL raw, BOOL a } /* set the individual row_pointers to point at the correct offsets */ - for (i = 0; i < (height); i++) + for (i = 0; i < ((int) height); i++) row_pointers[i] = png_pixels + i * row_bytes; /* now we can go ahead and just read the whole image */ @@ -371,9 +389,9 @@ BOOL png2pnm (FILE *png_file, FILE *pnm_file, FILE *alpha_file, BOOL raw, BOOL a /* write data to PNM file */ pix_ptr = png_pixels; - for (row = 0; row < height; row++) + for (row = 0; row < (int) height; row++) { - for (col = 0; col < width; col++) + for (col = 0; col < (int) width; col++) { for (i = 0; i < (channels - alpha_present); i++) { @@ -381,7 +399,7 @@ BOOL png2pnm (FILE *png_file, FILE *pnm_file, FILE *alpha_file, BOOL raw, BOOL a fputc ((int) *pix_ptr++ , pnm_file); else if (bit_depth == 16){ - dep_16 = (long) *pix_ptr++; + dep_16 = (long) *pix_ptr++; fprintf (pnm_file, "%ld ", (dep_16 << 8) + ((long) *pix_ptr++)); } else @@ -400,10 +418,11 @@ BOOL png2pnm (FILE *png_file, FILE *pnm_file, FILE *alpha_file, BOOL raw, BOOL a if (raw) fputc ((int) *pix_ptr++ , alpha_file); else - if (bit_depth == 16){ - dep_16 = (long) *pix_ptr++; + if (bit_depth == 16) + { + dep_16 = (long) *pix_ptr++; fprintf (alpha_file, "%ld ", (dep_16 << 8) + (long) *pix_ptr++); - } + } else fprintf (alpha_file, "%ld ", (long) *pix_ptr++); } @@ -424,6 +443,7 @@ BOOL png2pnm (FILE *png_file, FILE *pnm_file, FILE *alpha_file, BOOL raw, BOOL a if (png_pixels != (unsigned char*) NULL) free (png_pixels); + PNG_UNUSED(raw) /* to quiet a Coverity defect */ return TRUE; } /* end of source */ diff --git a/contrib/pngminus/pnm2png.c b/contrib/pngminus/pnm2png.c index 8fa64cd1f..1b550b8cf 100644 --- a/contrib/pngminus/pnm2png.c +++ b/contrib/pngminus/pnm2png.c @@ -1,9 +1,12 @@ /* * pnm2png.c --- conversion from PBM/PGM/PPM-file to PNG-file - * copyright (C) 1999 by Willem van Schaik <willem@schaik.com> + * copyright (C) 1999,2015,2017 by Willem van Schaik <willem at schaik.com> * * version 1.0 - 1999.10.15 - First version. * version 1.1 - 2015.07.29 - Fixed leaks (Glenn Randers-Pehrson) + * version 1.2 - 2017.04.22 - Add buffer-size check + * 1.3 - 2017.08.24 - Fix potential overflow in buffer-size check + * (Glenn Randers-Pehrson) * * Permission to use, copy, modify, and distribute this software and * its documentation for any purpose and without fee is hereby granted, @@ -370,9 +373,14 @@ BOOL pnm2png (FILE *pnm_file, FILE *png_file, FILE *alpha_file, BOOL interlace, row_bytes = (width * channels * bit_depth + 7) / 8; else #endif - /* row_bytes is the width x number of channels x (bit-depth / 8) */ + /* row_bytes is the width x number of channels x (bit-depth / 8) */ row_bytes = width * channels * ((bit_depth <= 8) ? 1 : 2); + if ((row_bytes == 0 || (size_t)height > ((size_t)(-1))/(size_t)row_bytes) + { + /* too big */ + return FALSE; + } if ((png_pixels = (png_byte *) malloc (row_bytes * height * sizeof (png_byte))) == NULL) return FALSE; @@ -383,7 +391,8 @@ BOOL pnm2png (FILE *pnm_file, FILE *png_file, FILE *alpha_file, BOOL interlace, for (row = 0; row < (int) height; row++) { #if defined(PNG_WRITE_INVERT_SUPPORTED) || defined(PNG_WRITE_PACK_SUPPORTED) - if (packed_bitmap) { + if (packed_bitmap) + { for (i = 0; i < (int) row_bytes; i++) /* png supports this format natively so no conversion is needed */ *pix_ptr++ = get_data (pnm_file, 8); @@ -504,6 +513,8 @@ BOOL pnm2png (FILE *pnm_file, FILE *png_file, FILE *alpha_file, BOOL interlace, if (png_pixels != (unsigned char*) NULL) free (png_pixels); + PNG_UNUSED(raw) /* Quiet a Coverity defect */ + return TRUE; } /* end of pnm2png */ @@ -520,7 +531,8 @@ void get_token(FILE *pnm_file, char *token) do { ret = fgetc(pnm_file); - if (ret == '#') { + if (ret == '#') + { /* the rest of this line is a comment */ do { diff --git a/libpng-1.4.21beta01.txt b/libpng-1.4.21rc01.txt index f1302c2aa..dc07d1dac 100644 --- a/libpng-1.4.21beta01.txt +++ b/libpng-1.4.21rc01.txt @@ -1,6 +1,6 @@ libpng.txt - A description on how to use and modify libpng - libpng version 1.4.21beta01 - August 7, 2017 + libpng version 1.4.21rc01 - August 19, 2017 Updated and distributed by Glenn Randers-Pehrson <glennrp at users.sourceforge.net> Copyright (c) 1998-2014 Glenn Randers-Pehrson @@ -11,7 +11,7 @@ libpng.txt - A description on how to use and modify libpng Based on: - libpng versions 0.97, January 1998, through 1.4.21beta01 - August 7, 2017 + libpng versions 0.97, January 1998, through 1.4.21rc01 - August 19, 2017 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2014 Glenn Randers-Pehrson @@ -907,7 +907,7 @@ things. As of libpng version 1.2.9, png_set_expand_gray_1_2_4_to_8() was added. It expands the sample depth without changing tRNS to alpha. -As of libpng version 1.4.21beta01, not all possible expansions are supported. +As of libpng version 1.4.21rc01, not all possible expansions are supported. In the following table, the 01 means grayscale with depth<8, 31 means indexed with depth<8, other numerals represent the color type, "T" means @@ -3298,7 +3298,7 @@ Since the PNG Development group is an ad-hoc body, we can't make an official declaration. This is your unofficial assurance that libpng from version 0.71 and -upward through 1.4.21beta01 are Y2K compliant. It is my belief that earlier +upward through 1.4.21rc01 are Y2K compliant. It is my belief that earlier versions were also Y2K compliant. Libpng only has three year fields. One is a 2-byte unsigned integer that @@ -1,6 +1,6 @@ -.TH LIBPNG 3 "August 7, 2017" +.TH LIBPNG 3 "August 19, 2017" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.4.21beta01 +libpng \- Portable Network Graphics (PNG) Reference Library 1.4.21rc01 .SH SYNOPSIS \fB #include <png.h>\fP @@ -444,7 +444,7 @@ Following is a copy of the libpng-manual.txt file that accompanies libpng. .SH LIBPNG.TXT libpng.txt - A description on how to use and modify libpng - libpng version 1.4.21beta01 - August 7, 2017 + libpng version 1.4.21rc01 - August 19, 2017 Updated and distributed by Glenn Randers-Pehrson <glennrp at users.sourceforge.net> Copyright (c) 1998-2014 Glenn Randers-Pehrson @@ -455,7 +455,7 @@ libpng.txt - A description on how to use and modify libpng Based on: - libpng versions 0.97, January 1998, through 1.4.21beta01 - August 7, 2017 + libpng versions 0.97, January 1998, through 1.4.21rc01 - August 19, 2017 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2014 Glenn Randers-Pehrson @@ -1351,7 +1351,7 @@ things. As of libpng version 1.2.9, png_set_expand_gray_1_2_4_to_8() was added. It expands the sample depth without changing tRNS to alpha. -As of libpng version 1.4.21beta01, not all possible expansions are supported. +As of libpng version 1.4.21rc01, not all possible expansions are supported. In the following table, the 01 means grayscale with depth<8, 31 means indexed with depth<8, other numerals represent the color type, "T" means @@ -3742,7 +3742,7 @@ Since the PNG Development group is an ad-hoc body, we can't make an official declaration. This is your unofficial assurance that libpng from version 0.71 and -upward through 1.4.21beta01 are Y2K compliant. It is my belief that earlier +upward through 1.4.21rc01 are Y2K compliant. It is my belief that earlier versions were also Y2K compliant. Libpng only has three year fields. One is a 2-byte unsigned integer that @@ -3895,7 +3895,7 @@ possible without all of you. Thanks to Frank J. T. Wojcik for helping with the documentation. -Libpng version 1.4.21beta01 - August 7, 2017: +Libpng version 1.4.21rc01 - August 19, 2017: Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net). @@ -3920,7 +3920,7 @@ this sentence. This code is released under the libpng license. -libpng versions 1.0.7, July 1, 2000, through 1.4.21beta01, August 7, 2017, are +libpng versions 1.0.7, July 1, 2000, through 1.4.21rc01, August 19, 2017, are Copyright (c) 2000-2002, 2004, 2006-2017 Glenn Randers-Pehrson, are 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 @@ -4017,7 +4017,7 @@ the additional disclaimers inserted at version 1.0.7. Glenn Randers-Pehrson glennrp at users.sourceforge.net -August 7, 2017 +August 19, 2017 .\" end of man page diff --git a/libpngpf.3 b/libpngpf.3 index 2c182a6cb..b35c59731 100644 --- a/libpngpf.3 +++ b/libpngpf.3 @@ -1,6 +1,6 @@ -.TH LIBPNGPF 3 "August 7, 2017" +.TH LIBPNGPF 3 "August 19, 2017" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.4.21beta01 +libpng \- Portable Network Graphics (PNG) Reference Library 1.4.21rc01 (private functions) .SH SYNOPSIS \fB#include <png.h> @@ -1,4 +1,4 @@ -.TH PNG 5 "August 7, 2017" +.TH PNG 5 "August 19, 2017" .SH NAME png \- Portable Network Graphics (PNG) format .SH DESCRIPTION @@ -17,7 +17,7 @@ #include "pngpriv.h" /* Generate a compiler error if there is an old png.h in the search path. */ -typedef version_1_4_21beta01 Your_png_h_is_not_version_1_4_21beta01; +typedef version_1_4_21rc01 Your_png_h_is_not_version_1_4_21rc01; /* Tells libpng that we have already handled the first "num_bytes" bytes * of the PNG file signature. If the PNG data is embedded into another @@ -559,14 +559,14 @@ png_get_copyright(png_const_structp png_ptr) #else #ifdef __STDC__ return ((png_charp) PNG_STRING_NEWLINE \ - "libpng version 1.4.21beta01 - August 7, 2017" PNG_STRING_NEWLINE \ + "libpng version 1.4.21rc01 - August 19, 2017" PNG_STRING_NEWLINE \ "Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson" \ PNG_STRING_NEWLINE \ "Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \ "Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \ PNG_STRING_NEWLINE); #else - return ((png_charp) "libpng version 1.4.21beta01 - August 7, 2017\ + return ((png_charp) "libpng version 1.4.21rc01 - August 19, 2017\ Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson\ Copyright (c) 1996-1997 Andreas Dilger\ Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc."); @@ -1,7 +1,7 @@ /* png.h - header file for PNG reference library * - * libpng version 1.4.21beta01, August 7, 2017 + * libpng version 1.4.21rc01, August 19, 2017 * * Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -12,7 +12,7 @@ * Authors and maintainers: * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat * libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger - * libpng versions 0.97, January 1998, through 1.4.21beta01, August 7, 2017: Glenn + * libpng versions 0.97, January 1998, through 1.4.21rc01, August 19, 2017: Glenn * See also "Contributing Authors", below. */ @@ -24,7 +24,7 @@ * * This code is released under the libpng license. * - * libpng versions 1.0.7, July 1, 2000, through 1.4.21beta01, August 7, 2017, are + * libpng versions 1.0.7, July 1, 2000, through 1.4.21rc01, August 19, 2017, are * Copyright (c) 2000-2002, 2004, 2006-2017 Glenn Randers-Pehrson, are * 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 @@ -207,13 +207,13 @@ * Y2K compliance in libpng: * ========================= * - * August 7, 2017 + * August 19, 2017 * * Since the PNG Development group is an ad-hoc body, we can't make * an official declaration. * * This is your unofficial assurance that libpng from version 0.71 and - * upward through 1.4.21beta01 are Y2K compliant. It is my belief that earlier + * upward through 1.4.21rc01 are Y2K compliant. It is my belief that earlier * versions were also Y2K compliant. * * Libpng only has three year fields. One is a 2-byte unsigned integer @@ -269,9 +269,9 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.4.21beta01" +#define PNG_LIBPNG_VER_STRING "1.4.21rc01" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.4.21beta01 - August 7, 2017\n" + " libpng version 1.4.21rc01 - August 19, 2017\n" #define PNG_LIBPNG_VER_SONUM 14 #define PNG_LIBPNG_VER_DLLNUM 14 @@ -301,7 +301,7 @@ #define PNG_LIBPNG_BUILD_SPECIAL 32 /* Cannot be OR'ed with PNG_LIBPNG_BUILD_PRIVATE */ -#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_BETA +#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_RC /* Careful here. At one time, Guy wanted to use 082, but that would be octal. * We must not include leading zeros. @@ -1378,7 +1378,7 @@ struct png_struct_def /* This triggers a compiler error in png.c, if png.c and png.h * do not agree upon the version number. */ -typedef png_structp version_1_4_21beta01; +typedef png_structp version_1_4_21rc01; typedef png_struct FAR * FAR * png_structpp; @@ -1,7 +1,7 @@ /* pngconf.h - machine configurable file for libpng * - * libpng version 1.4.21beta01, August 7, 2017 + * libpng version 1.4.21rc01, August 19, 2017 * * Copyright (c) 1998-2002,2004,2006-2015 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -1,7 +1,7 @@ /* pngpriv.h - private declarations for use inside libpng * - * libpng version 1.4.21beta01 - August 7, 2017 + * libpng version 1.4.21rc01 - August 19, 2017 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2002,2004,2006-2014,2017 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -1,7 +1,7 @@ /* pngread.c - read a PNG file * - * Last changed in libpng 1.4.21 [August 7, 2017] + * Last changed in libpng 1.4.21 [August 19, 2017] * Copyright (c) 1998-2002,2004,2006-2014,2017 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.) diff --git a/pngrutil.c b/pngrutil.c index aa64ae0c4..ce7365c7d 100644 --- a/pngrutil.c +++ b/pngrutil.c @@ -1,7 +1,7 @@ /* pngrutil.c - utilities to read a PNG file * - * Last changed in libpng 1.4.21 [August 7, 2017] + * Last changed in libpng 1.4.21 [August 19, 2017] * Copyright (c) 1998-2002,2004,2006-2015,2017 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.) @@ -1737,4 +1737,4 @@ main(int argc, char *argv[]) } /* Generate a compiler error if there is an old png.h in the search path. */ -typedef version_1_4_21beta01 your_png_h_is_not_version_1_4_21beta01; +typedef version_1_4_21rc01 your_png_h_is_not_version_1_4_21rc01; diff --git a/projects/vstudio/readme.txt b/projects/vstudio/readme.txt index 6fa00653d..a5e24b059 100644 --- a/projects/vstudio/readme.txt +++ b/projects/vstudio/readme.txt @@ -1,7 +1,7 @@ VisualStudio instructions -libpng version 1.4.21beta01 - August 7, 2017 +libpng version 1.4.21rc01 - August 19, 2017 Copyright (c) 2010 Glenn Randers-Pehrson diff --git a/projects/vstudio/zlib.props b/projects/vstudio/zlib.props index 557f439ee..ea7ae9672 100644 --- a/projects/vstudio/zlib.props +++ b/projects/vstudio/zlib.props @@ -2,7 +2,7 @@ <!-- * zlib.props - location of zlib source and build * - * libpng version 1.4.21beta01 - August 7, 2017 + * libpng version 1.4.21rc01 - August 19, 2017 * * Copyright (c) 1998-2011 Glenn Randers-Pehrson * diff --git a/scripts/README.txt b/scripts/README.txt index 5de413796..600d69241 100644 --- a/scripts/README.txt +++ b/scripts/README.txt @@ -1,8 +1,8 @@ -Makefiles for libpng version 1.4.21beta01 - August 7, 2017 +Makefiles for libpng version 1.4.21rc01 - August 19, 2017 makefile.linux => Linux/ELF makefile - (gcc, creates libpng14.so.14.1.4.21beta01) + (gcc, creates libpng14.so.14.1.4.21rc01) makefile.gcc => Generic makefile (gcc, creates static libpng.a) makefile.knr => Archaic UNIX Makefile that converts files with ansi2knr (Requires ansi2knr.c from @@ -20,7 +20,7 @@ Makefiles for libpng version 1.4.21beta01 - August 7, 2017 makefile.dec => DEC Alpha UNIX makefile makefile.dj2 => DJGPP 2 makefile makefile.elf => Linux/ELF makefile symbol versioning, - (gcc, creates libpng14.so.14.1.4.21beta01) + (gcc, creates libpng14.so.14.1.4.21rc01) makefile.freebsd => FreeBSD makefile makefile.gcc => Generic gcc makefile makefile.hpgcc => HPUX makefile using gcc @@ -36,12 +36,12 @@ Makefiles for libpng version 1.4.21beta01 - August 7, 2017 makefile.os2 => OS/2 Makefile (gcc and emx, requires pngos2.def) makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc makefile.sggcc => Silicon Graphics (gcc, - creates libpng14.so.14.1.4.21beta01) + creates libpng14.so.14.1.4.21rc01) makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib) makefile.solaris => Solaris 2.X makefile (gcc, - creates libpng14.so.14.1.4.21beta01) + creates libpng14.so.14.1.4.21rc01) makefile.so9 => Solaris 9 makefile (gcc, - creates libpng14.so.14.1.4.21beta01) + creates libpng14.so.14.1.4.21rc01) makefile.std => Generic UNIX makefile (cc, creates static libpng.a) makefile.sunos => Sun makefile makefile.32sunu => Sun Ultra 32-bit makefile diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in index 5fc9b606c..ff6db031a 100755 --- a/scripts/libpng-config-head.in +++ b/scripts/libpng-config-head.in @@ -11,7 +11,7 @@ # Modeled after libxml-config. -version=1.4.21beta01 +version=1.4.21rc01 prefix="" libdir="" libs="" diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in index b55bf0dcc..e2b49c5cd 100644 --- a/scripts/libpng.pc.in +++ b/scripts/libpng.pc.in @@ -5,6 +5,6 @@ includedir=@includedir@/libpng14 Name: libpng Description: Loads and saves PNG files -Version: 1.4.21beta01 +Version: 1.4.21rc01 Libs: -L${libdir} -lpng14 Cflags: -I${includedir} diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd index 4ac5ca078..5624c3075 100644 --- a/scripts/makefile.ne12bsd +++ b/scripts/makefile.ne12bsd @@ -17,7 +17,7 @@ INCSDIR=${LOCALBASE}/include/libpng14 LIB= png14 SHLIB_MAJOR= 0 -SHLIB_MINOR= 1.4.21beta01 +SHLIB_MINOR= 1.4.21rc01 SRCS= png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \ pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \ pngwtran.c pngmem.c pngerror.c pngpread.c diff --git a/scripts/makefile.netbsd b/scripts/makefile.netbsd index 30cf70f04..f80350cbf 100644 --- a/scripts/makefile.netbsd +++ b/scripts/makefile.netbsd @@ -17,7 +17,7 @@ INCSDIR=${LOCALBASE}/include LIB= png SHLIB_MAJOR= 3 -SHLIB_MINOR= 1.4.21beta01 +SHLIB_MINOR= 1.4.21rc01 SRCS= png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \ pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \ pngwtran.c pngmem.c pngerror.c pngpread.c diff --git a/scripts/makefile.openbsd b/scripts/makefile.openbsd index bc155ded9..8fec28668 100644 --- a/scripts/makefile.openbsd +++ b/scripts/makefile.openbsd @@ -11,7 +11,7 @@ LIBDIR= ${PREFIX}/lib MANDIR= ${PREFIX}/man/cat SHLIB_MAJOR= 0 -SHLIB_MINOR= 1.4.21beta01 +SHLIB_MINOR= 1.4.21rc01 LIB= png SRCS= png.c pngerror.c pngget.c pngmem.c pngpread.c \ diff --git a/scripts/png32ce.def b/scripts/png32ce.def index 2e761f29a..9657405c6 100644 --- a/scripts/png32ce.def +++ b/scripts/png32ce.def @@ -15,7 +15,7 @@ LIBRARY lpngce png_get_int_32 EXPORTS -;Version 1.4.21beta01 +;Version 1.4.21rc01 png_build_grayscale_palette @1 ; png_check_sig @2 png_chunk_error @3 diff --git a/scripts/pngos2.def b/scripts/pngos2.def index 36984e1ad..90fe17dfa 100644 --- a/scripts/pngos2.def +++ b/scripts/pngos2.def @@ -2,7 +2,7 @@ ; PNG.LIB module definition file for OS/2 ;---------------------------------------- -; Version 1.4.21beta01 +; Version 1.4.21rc01 LIBRARY PNG DESCRIPTION "PNG image compression library for OS/2" diff --git a/scripts/pngwin.def b/scripts/pngwin.def index 30ab1e442..4ebfa8114 100644 --- a/scripts/pngwin.def +++ b/scripts/pngwin.def @@ -5,7 +5,7 @@ LIBRARY EXPORTS -;Version 1.4.21beta01 +;Version 1.4.21rc01 png_build_grayscale_palette png_chunk_error png_chunk_warning |