From dff799ef891e99849450526e9e3f34b7edd96d19 Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Sat, 7 Aug 2004 21:42:49 -0500 Subject: [PATCH] Imported from libpng-1.2.6rc2.tar --- ANNOUNCE | 22 +++++++++++++++++--- CHANGES | 25 ++++++++++++++--------- INSTALL | 14 ++++++------- KNOWNBUG | 2 +- LICENSE | 4 ++-- README | 2 +- Y2KINFO | 4 ++-- configure | 4 ++-- libpng.3 | 20 +++++++++--------- libpng.txt | 10 +++++---- libpngpf.3 | 4 ++-- png.5 | 2 +- png.c | 6 +++--- png.h | 26 ++++++++++++------------ pngasmrd.h | 2 +- pngconf.h | 2 +- pngerror.c | 2 +- pnggccrd.c | 2 +- pngget.c | 2 +- pngmem.c | 2 +- pngpread.c | 10 ++++----- pngread.c | 6 +++--- pngrio.c | 2 +- pngrtran.c | 10 +++++---- pngrutil.c | 38 +++++++++++++++++------------------ pngset.c | 6 +++--- pngtest.c | 28 +++++++++++++++++--------- pngtrans.c | 2 +- pngvcrd.c | 2 +- pngwio.c | 2 +- pngwrite.c | 14 ++++++------- pngwtran.c | 2 +- pngwutil.c | 2 +- scripts/libpng-config-head.in | 2 +- scripts/libpng.pc.in | 2 +- scripts/makefile.32sunu | 3 ++- scripts/makefile.64sunu | 6 ++++-- scripts/makefile.aix | 2 +- scripts/makefile.beos | 3 ++- scripts/makefile.cygwin | 2 +- scripts/makefile.darwin | 3 ++- scripts/makefile.dec | 3 ++- scripts/makefile.gcmmx | 3 ++- scripts/makefile.hpgcc | 3 ++- scripts/makefile.hpux | 3 ++- scripts/makefile.linux | 3 ++- scripts/makefile.ne12bsd | 2 +- scripts/makefile.netbsd | 2 +- scripts/makefile.openbsd | 2 +- scripts/makefile.sco | 5 +++-- scripts/makefile.sggcc | 3 ++- scripts/makefile.sgi | 3 ++- scripts/makefile.so9 | 5 +++-- scripts/makefile.solaris | 9 +++++---- scripts/pngos2.def | 2 +- scripts/pngw32.def | 2 +- 56 files changed, 204 insertions(+), 150 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index 0d45d2e3..c2565ba1 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,5 +1,5 @@ -Libpng 1.2.6rc1 - August 4, 2004 +Libpng 1.2.6rc2 - August 8, 2004 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. @@ -60,6 +60,7 @@ Changes since the last public release (1.2.5): Updated contrib/visupng/VisualPng.dsp (Cosmin). Updated contrib/visupng/cexcept.h to version 2.0.0 (Cosmin). Added a separate distribution with "configure" and supporting files (Junichi). +version 1.2.6rc1 [August 4, 2004] Added user ability to change png_size_t via a PNG_SIZE_T macro. Added png_sizeof() and png_convert_size() functions. Added PNG_SIZE_MAX (maximum value of a png_size_t variable. @@ -72,7 +73,6 @@ Changes since the last public release (1.2.5): Renamed PNG_MAX_UINT to PNG_UINT_31_MAX. Made png_zalloc() issue a png_warning and return NULL on potential overflow. - Turn on PNG_NO_ZALLOC_ZERO by default in version 1.2.x Revised "clobber list" in pnggccrd.c so it will compile under gcc-3.4. Revised Borland portion of png_malloc() to return NULL or issue png_error() according to setting of PNG_FLAG_MALLOC_NULL_MEM_OK. @@ -86,12 +86,28 @@ Changes since the last public release (1.2.5): Updated makefile.darwin and removed makefile.macosx from scripts directory. Imposed default one million column, one-million row limits on the image dimensions, and added png_set_user_limits() function and - PNG_SET_USER_LIMITS_SUPPORTED macro to override them.. + PNG_SET_USER_LIMITS_SUPPORTED macro to override them. Fixed wrong cast of returns from png_get_user_width|height_max(). Fixed buffer overflow vulnerability in png_handle_tRNS() Fixed integer arithmetic overflow vulnerability in png_read_png(). Fixed some harmless bugs in png_handle_sBIT, etc, that would cause duplicate chunk types to go undetected. + Changed some "keep the compiler happy" from empty statements to returns, +Revised libpng.txt to remove 1.2.x stuff from the 1.0.x distribution +version 1.2.6rc2 [August 8, 2004] + Revised makefile.darwin and makefile.solaris. Removed makefile.macosx. + Revised pngtest's png_debug_malloc() to use png_malloc() instead of + png_malloc_default() which is not supposed to be exported. + Fixed off-by-one error in one of the conversions to PNG_ROWBYTES() in + pngpread.c. Bug was introduced in 1.2.6rc1. + Fixed bug in RGB to RGBX transformation introduced in 1.2.6rc1. + Fixed old bug in RGB to Gray transformation. + Fixed problem with 64-bit compilers by casting arguments to abs() + to png_int_32. + Changed "ln -sf" to "ln -f -s" in three makefiles (solaris, sco, so9). + Changed "HANDLE_CHUNK_*" to "PNG_HANDLE_CHUNK_*" (Cosmin) + Added "-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)" to 15 *NIX makefiles. + Added code to update the row_info->colortype in png_do_read_filler() (MSB). Send comments/corrections/commendations to png-implement@ccrc.wustl.edu or to glennrp@users.sourceforge.net diff --git a/CHANGES b/CHANGES index d3d9a6c6..0e792977 100644 --- a/CHANGES +++ b/CHANGES @@ -1241,7 +1241,7 @@ version 1.2.6beta3 [July 18, 2004] Updated contrib/visupng/VisualPng.dsp (Cosmin). Updated contrib/visupng/cexcept.h to version 2.0.0 (Cosmin). Added a separate distribution with "configure" and supporting files (Junichi). -version 1.2.6beta4 [August 4, 2004] +version 1.2.6beta4 [July 28, 2004] Added user ability to change png_size_t via a PNG_SIZE_T macro. Added png_sizeof() and png_convert_size() functions. Added PNG_SIZE_MAX (maximum value of a png_size_t variable. @@ -1256,7 +1256,6 @@ version 1.2.6beta4 [August 4, 2004] overflow. Turn on PNG_NO_ZALLOC_ZERO by default in version 1.2.x Revised "clobber list" in pnggccrd.c so it will compile under gcc-3.4. -version 1.2.6beta4 [July 28, 2004] Revised Borland portion of png_malloc() to return NULL or issue png_error() according to setting of PNG_FLAG_MALLOC_NULL_MEM_OK. Added PNG_NO_SEQUENTIAL_READ_SUPPORTED macro to conditionally remove @@ -1264,27 +1263,35 @@ version 1.2.6beta4 [July 28, 2004] Added some "#if PNG_WRITE_SUPPORTED" blocks. #ifdef'ed out some redundancy in png_malloc_default(). Use png_malloc instead of png_zalloc to allocate the pallete. -version 1.2.6beta4d [July 28, 2004] +version 1.2.6rc1 [August 4, 2004] Fixed buffer overflow vulnerability in png_handle_tRNS() Fixed integer arithmetic overflow vulnerability in png_read_png(). Fixed some harmless bugs in png_handle_sBIT, etc, that would cause duplicate chunk types to go undetected. Fixed some timestamps in the -config version -version 1.2.6beta4e [July 28, 2004] Fixed some timestamps in the -config version -version 1.2.6beta4f [July 28, 2004] Rearranged order of processing of color types in png_handle_tRNS(). -version 1.2.6beta4g [July 31, 2004] Added ROWBYTES macro to calculate rowbytes without integer overflow. Updated makefile.darwin and removed makefile.macosx from scripts directory. -version 1.2.6beta4h [August 1, 2004] Imposed default one million column, one-million row limits on the image dimensions, and added png_set_user_limits() function to override them. Revised use of PNG_SET_USER_LIMITS_SUPPORTED macro. -version 1.2.6beta4j [August 1, 2004] Fixed wrong cast of returns from png_get_user_width|height_max(). -version 1.2.6rc6 [August 4, 2004] Changed some "keep the compiler happy" from empty statements to returns, +version 1.2.6rc2 [August 8, 2004] + Revised makefile.darwin and makefile.solaris. Removed makefile.macosx. + Revised pngtest's png_debug_malloc() to use png_malloc() instead of + png_malloc_default() which is not supposed to be exported. + Fixed off-by-one error in one of the conversions to PNG_ROWBYTES() in + pngpread.c. Bug was introduced in 1.2.6rc1. + Fixed bug in RGB to RGBX transformation introduced in 1.2.6rc1. + Fixed old bug in RGB to Gray transformation. + Fixed problem with 64-bit compilers by casting arguments to abs() + to png_int_32. + Changed "ln -sf" to "ln -f -s" in three makefiles (solaris, sco, so9). + Changed "HANDLE_CHUNK_*" to "PNG_HANDLE_CHUNK_*" (Cosmin) + Added "-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)" to 15 *NIX makefiles. + Added code to update the row_info->colortype in png_do_read_filler() (MSB). Send comments/corrections/commendations to png-implement@ccrc.wustl.edu or to glennrp@users.sourceforge.net diff --git a/INSTALL b/INSTALL index 297dcbc9..54a88b54 100644 --- a/INSTALL +++ b/INSTALL @@ -1,5 +1,5 @@ -Installing libpng version 1.2.6rc1 - August 4, 2004 +Installing libpng version 1.2.6rc2 - August 8, 2004 Before installing libpng, you must first install zlib. zlib can usually be found wherever you got libpng. zlib can be @@ -10,7 +10,7 @@ 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.2.6rc1" or "lpng109" and "zlib-1.1.3" +might be called "libpng-1.2.6rc2" or "lpng109" and "zlib-1.1.3" or "zlib113") so that you have directories called "zlib" and "libpng". Your directory structure should look like this: @@ -64,8 +64,8 @@ The files that are presently available in the scripts directory include makefile.std => Generic UNIX makefile (cc, creates static libpng.a) - makefile.linux => Linux/ELF makefile (gcc, creates libpng12.so.0.1.2.6rc1) - makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng12.so.0.1.2.6rc1, + makefile.linux => Linux/ELF makefile (gcc, creates libpng12.so.0.1.2.6rc2) + makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng12.so.0.1.2.6rc2, uses assembler code tuned for Intel MMX platform) makefile.gcc => Generic makefile (gcc, creates static libpng.a) makefile.knr => Archaic UNIX Makefile that converts files with @@ -85,10 +85,10 @@ include makefile.ne0bsd => NetBSD/cc makefile, uses PNGGCCRD, makes libpng0.so makefile.openbsd => OpenBSD makefile makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib) - makefile.sggcc => Silicon Graphics (gcc, creates libpng12.so.0.1.2.6rc1) + makefile.sggcc => Silicon Graphics (gcc, creates libpng12.so.0.1.2.6rc2) makefile.sunos => Sun makefile - makefile.solaris => Solaris 2.X makefile (gcc, creates libpng12.so.0.1.2.6rc1) - makefile.so9 => Solaris 9 makefile (gcc, creates libpng12.so.0.1.2.6rc1) + makefile.solaris => Solaris 2.X makefile (gcc, creates libpng12.so.0.1.2.6rc2) + makefile.so9 => Solaris 9 makefile (gcc, creates libpng12.so.0.1.2.6rc2) 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 diff --git a/KNOWNBUG b/KNOWNBUG index e888efc1..0b473b66 100644 --- a/KNOWNBUG +++ b/KNOWNBUG @@ -1,5 +1,5 @@ -Known bugs in libpng version 1.2.6rc1 +Known bugs in libpng version 1.2.6rc2 1. April 22, 2001: pnggccrd.c has been reported to crash on NetBSD when reading interlaced PNG files, when assembler code is enabled but running diff --git a/LICENSE b/LICENSE index 8bcd6473..6deebcac 100644 --- a/LICENSE +++ b/LICENSE @@ -8,7 +8,7 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: If you modify libpng you may insert additional notices immediately following this sentence. -libpng version 1.2.6, August 4, 2004, is +libpng version 1.2.6, August 8, 2004, is Copyright (c) 2004 Glenn Randers-Pehrson, and is distributed according to the same disclaimer and license as libpng-1.2.5 with the following individuals added to the list of Contributing Authors @@ -107,4 +107,4 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp@users.sourceforge.net -August 4, 2004 +August 8, 2004 diff --git a/README b/README index 84392db3..335e56e7 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -README for libpng version 1.2.6rc1 - August 4, 2004 (shared library 12.0) +README for libpng version 1.2.6rc2 - August 8, 2004 (shared library 12.0) See the note about version numbers near the top of png.h See INSTALL for instructions on how to install libpng. diff --git a/Y2KINFO b/Y2KINFO index 7009d78f..4185958c 100644 --- a/Y2KINFO +++ b/Y2KINFO @@ -1,13 +1,13 @@ Y2K compliance in libpng: ========================= - August 4, 2004 + August 8, 2004 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.2.6rc1 are Y2K compliant. It is my belief that earlier + upward through 1.2.6rc2 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 diff --git a/configure b/configure index 894b0119..6ff19320 100755 --- a/configure +++ b/configure @@ -1,13 +1,13 @@ #!/bin/sh echo " There is no \"configure\" script in this distribution of - libpng-1.2.6rc1. + libpng-1.2.6rc2. Instead, please copy the appropriate makefile for your system from the \"scripts\" directory. Read the INSTALL file for more details. Update, July 2004: you can get a "configure" based distribution from the libpng distribution sites. Download the file - libpng-1.2.6rc1-config.tar.gz + libpng-1.2.6rc2-config.tar.gz " diff --git a/libpng.3 b/libpng.3 index 677350e3..c6bddbba 100644 --- a/libpng.3 +++ b/libpng.3 @@ -1,6 +1,6 @@ -.TH LIBPNG 3 "August 4, 2004" +.TH LIBPNG 3 "August 8, 2004" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.2.6rc1 +libpng \- Portable Network Graphics (PNG) Reference Library 1.2.6rc2 .SH SYNOPSIS \fI\fB @@ -773,7 +773,7 @@ Following is a copy of the libpng.txt file that accompanies libpng. .SH LIBPNG.TXT libpng.txt - A description on how to use and modify libpng - libpng version 1.2.6rc1 - August 4, 2004 + libpng version 1.2.6rc2 - August 8, 2004 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2004 Glenn Randers-Pehrson @@ -1112,7 +1112,9 @@ this, you can call: five bytes per chunk, NULL or '\0' if num_chunks is 0) num_chunks - number of chunks affected; if 0, all - unknown chunks are affected + unknown chunks are affected. If nonzero, + only the chunks in the list are affected + Unknown chunks declared in this way will be saved as raw data onto a list of png_unknown_chunk structures. If a chunk that is normally @@ -3649,13 +3651,13 @@ application: .SH VII. Y2K Compliance in libpng -August 4, 2004 +August 8, 2004 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.2.6rc1 are Y2K compliant. It is my belief that earlier +upward through 1.2.6rc2 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 @@ -3854,7 +3856,7 @@ possible without all of you. Thanks to Frank J. T. Wojcik for helping with the documentation. -Libpng version 1.2.6rc1 - August 4, 2004: +Libpng version 1.2.6rc2 - August 8, 2004: Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Currently maintained by Glenn Randers-Pehrson (glennrp@users.sourceforge.net). @@ -3871,7 +3873,7 @@ included in the libpng distribution, the latter shall prevail.) If you modify libpng you may insert additional notices immediately following this sentence. -libpng version 1.2.6, August 4, 2004, is +libpng version 1.2.6, August 8, 2004, is Copyright (c) 2004 Glenn Randers-Pehrson, and is distributed according to the same disclaimer and license as libpng-1.2.5 with the following individuals added to the list of Contributing Authors @@ -3971,7 +3973,7 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp@users.sourceforge.net -August 4, 2004 +August 8, 2004 .\" end of man page diff --git a/libpng.txt b/libpng.txt index 3976f746..f8afdca3 100644 --- a/libpng.txt +++ b/libpng.txt @@ -1,6 +1,6 @@ libpng.txt - A description on how to use and modify libpng - libpng version 1.2.6rc1 - August 4, 2004 + libpng version 1.2.6rc2 - August 8, 2004 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2004 Glenn Randers-Pehrson @@ -339,7 +339,9 @@ this, you can call: five bytes per chunk, NULL or '\0' if num_chunks is 0) num_chunks - number of chunks affected; if 0, all - unknown chunks are affected + unknown chunks are affected. If nonzero, + only the chunks in the list are affected + Unknown chunks declared in this way will be saved as raw data onto a list of png_unknown_chunk structures. If a chunk that is normally @@ -2876,13 +2878,13 @@ application: VII. Y2K Compliance in libpng -August 4, 2004 +August 8, 2004 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.2.6rc1 are Y2K compliant. It is my belief that earlier +upward through 1.2.6rc2 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 diff --git a/libpngpf.3 b/libpngpf.3 index 76af9899..88f5efa0 100644 --- a/libpngpf.3 +++ b/libpngpf.3 @@ -1,6 +1,6 @@ -.TH LIBPNGPF 3 "August 4, 2004" +.TH LIBPNGPF 3 "August 8, 2004" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.2.6rc1 +libpng \- Portable Network Graphics (PNG) Reference Library 1.2.6rc2 (private functions) .SH SYNOPSIS \fB\fB#include \fP\fP diff --git a/png.5 b/png.5 index c7ceb7d0..843ae52d 100644 --- a/png.5 +++ b/png.5 @@ -1,4 +1,4 @@ -.TH PNG 5 "August 4, 2004" +.TH PNG 5 "August 8, 2004" .SH NAME png \- Portable Network Graphics (PNG) format .SH DESCRIPTION diff --git a/png.c b/png.c index 503271bb..97b36c9a 100644 --- a/png.c +++ b/png.c @@ -1,7 +1,7 @@ /* png.c - location for general purpose libpng functions * - * libpng version 1.2.6rc1 - August 4, 2004 + * libpng version 1.2.6rc2 - August 8, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -13,7 +13,7 @@ #include "png.h" /* Generate a compiler error if there is an old png.h in the search path. */ -typedef version_1_2_6rc1 Your_png_h_is_not_version_1_2_6rc1; +typedef version_1_2_6rc2 Your_png_h_is_not_version_1_2_6rc2; /* Version information for C files. This had better match the version * string defined in png.h. */ @@ -678,7 +678,7 @@ png_charp PNGAPI png_get_copyright(png_structp png_ptr) { if (&png_ptr != NULL) /* silence compiler warning about unused png_ptr */ - return ((png_charp) "\n libpng version 1.2.6rc1 - August 4, 2004\n\ + return ((png_charp) "\n libpng version 1.2.6rc2 - August 8, 2004\n\ Copyright (c) 1998-2004 Glenn Randers-Pehrson\n\ Copyright (c) 1996-1997 Andreas Dilger\n\ Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.\n"); diff --git a/png.h b/png.h index 792cd0d7..4a75b253 100644 --- a/png.h +++ b/png.h @@ -1,6 +1,6 @@ /* png.h - header file for PNG reference library * - * libpng version 1.2.6rc1 - August 4, 2004 + * libpng version 1.2.6rc2 - August 8, 2004 * Copyright (c) 1998-2004 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.) @@ -8,7 +8,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.2.6rc1 - August 4, 2004: Glenn + * libpng versions 0.97, January 1998, through 1.2.6rc2 - August 8, 2004: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -130,7 +130,7 @@ * If you modify libpng you may insert additional notices immediately following * this sentence. * - * libpng version 1.2.6, August 4, 2004, is + * libpng version 1.2.6, August 8, 2004, is * Copyright (c) 2004 Glenn Randers-Pehrson, and is * distributed according to the same disclaimer and license as libpng-1.2.5 * with the following individuals added to the list of Contributing Authors @@ -243,13 +243,13 @@ * Y2K compliance in libpng: * ========================= * - * August 4, 2004 + * August 8, 2004 * * 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.2.6rc1 are Y2K compliant. It is my belief that earlier + * upward through 1.2.6rc2 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 @@ -305,9 +305,9 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.2.6rc1" +#define PNG_LIBPNG_VER_STRING "1.2.6rc2" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.2.6rc1 - August 4, 2004 (header)\n" + " libpng version 1.2.6rc2 - August 8, 2004 (header)\n" #define PNG_LIBPNG_VER_SONUM 0 #define PNG_LIBPNG_VER_DLLNUM %DLLNUM% @@ -319,7 +319,7 @@ /* This should match the numeric part of the final component of * PNG_LIBPNG_VER_STRING, omitting any leading zero: */ -#define PNG_LIBPNG_VER_BUILD 1 +#define PNG_LIBPNG_VER_BUILD 2 #define PNG_LIBPNG_BUILD_ALPHA 1 #define PNG_LIBPNG_BUILD_BETA 2 @@ -1311,7 +1311,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_2_6rc1; +typedef png_structp version_1_2_6rc2; typedef png_struct FAR * FAR * png_structpp; @@ -2602,10 +2602,10 @@ extern PNG_EXPORT(png_uint_32,png_get_user_height_max) PNGARG((png_structp #define PNG_FLAG_MALLOC_NULL_MEM_OK 0x100000L /* For use in png_set_keep_unknown, png_handle_as_unknown */ -#define HANDLE_CHUNK_AS_DEFAULT 0 -#define HANDLE_CHUNK_NEVER 1 -#define HANDLE_CHUNK_IF_SAFE 2 -#define HANDLE_CHUNK_ALWAYS 3 +#define PNG_HANDLE_CHUNK_AS_DEFAULT 0 +#define PNG_HANDLE_CHUNK_NEVER 1 +#define PNG_HANDLE_CHUNK_IF_SAFE 2 +#define PNG_HANDLE_CHUNK_ALWAYS 3 #define PNG_FLAG_CRC_ANCILLARY_MASK (PNG_FLAG_CRC_ANCILLARY_USE | \ PNG_FLAG_CRC_ANCILLARY_NOWARN) diff --git a/pngasmrd.h b/pngasmrd.h index 6128c1b0..1143b20c 100644 --- a/pngasmrd.h +++ b/pngasmrd.h @@ -1,6 +1,6 @@ /* pngasmrd.h - assembler version of utilities to read a PNG file * - * libpng 1.2.6rc1 - August 4, 2004 + * libpng 1.2.6rc2 - August 8, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 2002-2004 Glenn Randers-Pehrson * diff --git a/pngconf.h b/pngconf.h index e46d6d4a..259f451d 100644 --- a/pngconf.h +++ b/pngconf.h @@ -1,7 +1,7 @@ /* pngconf.h - machine configurable file for libpng * - * libpng version 1.2.6rc1 - August 4, 2004 + * libpng version 1.2.6rc2 - August 8, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngerror.c b/pngerror.c index 7d8c3b7d..60c14850 100644 --- a/pngerror.c +++ b/pngerror.c @@ -1,7 +1,7 @@ /* pngerror.c - stub functions for i/o and memory allocation * - * libpng version 1.2.6rc1 - August 4, 2004 + * libpng version 1.2.6rc2 - August 8, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pnggccrd.c b/pnggccrd.c index a6461ec9..f4eadbac 100644 --- a/pnggccrd.c +++ b/pnggccrd.c @@ -6,7 +6,7 @@ * and http://www.intel.com/drg/pentiumII/appnotes/923/923.htm * for Intel's performance analysis of the MMX vs. non-MMX code. * - * libpng version 1.2.6rc1 - August 4, 2004 + * libpng version 1.2.6rc2 - August 8, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998, Intel Corporation diff --git a/pngget.c b/pngget.c index 490b3cdd..7449eb6d 100644 --- a/pngget.c +++ b/pngget.c @@ -1,7 +1,7 @@ /* pngget.c - retrieval of values from info struct * - * libpng 1.2.6rc1 - August 4, 2004 + * libpng 1.2.6rc2 - August 8, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngmem.c b/pngmem.c index aa178acf..81c3e6a7 100644 --- a/pngmem.c +++ b/pngmem.c @@ -1,7 +1,7 @@ /* pngmem.c - stub functions for memory allocation * - * libpng version 1.2.6rc1 - August 4, 2004 + * libpng version 1.2.6rc2 - August 8, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngpread.c b/pngpread.c index 2c16a783..fbf29930 100644 --- a/pngpread.c +++ b/pngpread.c @@ -1,7 +1,7 @@ /* pngpread.c - read a png file in push mode * - * libpng version 1.2.6rc1 - August 4, 2004 + * libpng version 1.2.6rc2 - August 8, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -757,7 +757,7 @@ png_process_IDAT_data(png_structp png_ptr, png_bytep buffer, png_ptr->interlaced && png_ptr->pass > 6) || (!png_ptr->interlaced && #endif - png_ptr->row_number == png_ptr->num_rows-1)) + png_ptr->row_number == png_ptr->num_rows)) { if (png_ptr->zstream.avail_in) png_warning(png_ptr, "Too much data in IDAT chunks"); @@ -1009,7 +1009,7 @@ png_read_push_finish_row(png_structp png_ptr) png_pass_inc[png_ptr->pass]; png_ptr->irowbytes = PNG_ROWBYTES(png_ptr->pixel_depth, - png_ptr->iwidth); + png_ptr->iwidth) + 1; if (png_ptr->transformations & PNG_INTERLACE) break; @@ -1441,7 +1441,7 @@ png_push_handle_unknown(png_structp png_ptr, png_infop info_ptr, png_uint_32 { #if defined(PNG_READ_UNKNOWN_CHUNKS_SUPPORTED) if(png_handle_as_unknown(png_ptr, png_ptr->chunk_name) != - HANDLE_CHUNK_ALWAYS + PNG_HANDLE_CHUNK_ALWAYS #if defined(PNG_READ_USER_CHUNKS_SUPPORTED) && png_ptr->read_user_chunk_fn == NULL #endif @@ -1480,7 +1480,7 @@ png_push_handle_unknown(png_structp png_ptr, png_infop info_ptr, png_uint_32 { if (!(png_ptr->chunk_name[0] & 0x20)) if(png_handle_as_unknown(png_ptr, png_ptr->chunk_name) != - HANDLE_CHUNK_ALWAYS) + PNG_HANDLE_CHUNK_ALWAYS) png_chunk_error(png_ptr, "unknown critical chunk"); } png_set_unknown_chunks(png_ptr, info_ptr, &chunk, 1); diff --git a/pngread.c b/pngread.c index 942cd90c..8bbf17d2 100644 --- a/pngread.c +++ b/pngread.c @@ -1,7 +1,7 @@ /* pngread.c - read a PNG file * - * libpng 1.2.6rc1 - August 4, 2004 + * libpng 1.2.6rc2 - August 8, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -803,7 +803,7 @@ png_read_row(png_structp png_ptr, png_bytep row, png_bytep dsp_row) * not called png_set_interlace_handling(), the display_row buffer will * be ignored, so pass NULL to it. * - * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.6rc1 + * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.6rc2 */ void PNGAPI @@ -853,7 +853,7 @@ png_read_rows(png_structp png_ptr, png_bytepp row, * only call this function once. If you desire to have an image for * each pass of a interlaced image, use png_read_rows() instead. * - * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.6rc1 + * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.6rc2 */ void PNGAPI png_read_image(png_structp png_ptr, png_bytepp image) diff --git a/pngrio.c b/pngrio.c index 1fb44fce..e483101d 100644 --- a/pngrio.c +++ b/pngrio.c @@ -1,7 +1,7 @@ /* pngrio.c - functions for data input * - * libpng 1.2.6rc1 - August 4, 2004 + * libpng 1.2.6rc2 - August 8, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngrtran.c b/pngrtran.c index a88a34b9..f4dea7ae 100644 --- a/pngrtran.c +++ b/pngrtran.c @@ -1,7 +1,7 @@ /* pngrtran.c - transforms the data in a row for PNG readers * - * libpng version 1.2.6rc1 - August 4, 2004 + * libpng version 1.2.6rc2 - August 8, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -1924,6 +1924,7 @@ png_do_read_filler(png_row_infop row_info, png_bytep row, row_info->rowbytes = row_width * 4; } } + row_info->color_type |= PNG_COLOR_MASK_ALPHA; } /* COLOR_TYPE == GRAY */ else if (row_info->color_type == PNG_COLOR_TYPE_RGB) { @@ -1932,8 +1933,8 @@ png_do_read_filler(png_row_infop row_info, png_bytep row, /* This changes the data from RGB to RGBX */ if (flags & PNG_FLAG_FILLER_AFTER) { - png_bytep sp = row + (png_size_t)row_width * 6; - png_bytep dp = sp + (png_size_t)row_width * 2; + png_bytep sp = row + (png_size_t)row_width * 3; + png_bytep dp = sp + (png_size_t)row_width; for (i = 1; i < row_width; i++) { *(--dp) = lo_filler; @@ -2008,6 +2009,7 @@ png_do_read_filler(png_row_infop row_info, png_bytep row, row_info->rowbytes = row_width * 8; } } + row_info->color_type |= PNG_COLOR_MASK_ALPHA; } /* COLOR_TYPE == RGB */ } #endif @@ -2273,7 +2275,7 @@ png_do_rgb_to_gray(png_structp png_ptr, png_row_infop row_info, png_bytep row) png_byte blue = *(sp++); if(red != green || red != blue) rgb_error |= 1; - *(dp++) = (png_byte)((gc*red + gc*green + bc*blue)>>8); + *(dp++) = (png_byte)((rc*red + gc*green + bc*blue)>>15); *(dp++) = *(sp++); /* alpha */ } } diff --git a/pngrutil.c b/pngrutil.c index 94b521c8..b96e9b14 100644 --- a/pngrutil.c +++ b/pngrutil.c @@ -1,6 +1,6 @@ /* pngrutil.c - utilities to read a PNG file * - * libpng version 1.2.6rc1 - August 4, 2004 + * libpng version 1.2.6rc2 - August 8, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -833,14 +833,14 @@ png_handle_cHRM(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) #if defined(PNG_READ_sRGB_SUPPORTED) if (info_ptr->valid & PNG_INFO_sRGB) { - if (abs(int_x_white - 31270L) > 1000 || - abs(int_y_white - 32900L) > 1000 || - abs(int_x_red - 64000L) > 1000 || - abs(int_y_red - 33000L) > 1000 || - abs(int_x_green - 30000L) > 1000 || - abs(int_y_green - 60000L) > 1000 || - abs(int_x_blue - 15000L) > 1000 || - abs(int_y_blue - 6000L) > 1000) + if (abs((png_int_32)(int_x_white - 31270L)) > 1000 || + abs((png_int_32)(int_y_white - 32900L)) > 1000 || + abs((png_int_32)(int_x_red - 64000L)) > 1000 || + abs((png_int_32)(int_y_red - 33000L)) > 1000 || + abs((png_int_32)(int_x_green - 30000L)) > 1000 || + abs((png_int_32)(int_y_green - 60000L)) > 1000 || + abs((png_int_32)(int_x_blue - 15000L)) > 1000 || + abs((png_int_32)(int_y_blue - 6000L)) > 1000) { png_warning(png_ptr, @@ -956,14 +956,14 @@ png_handle_sRGB(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) #ifdef PNG_READ_cHRM_SUPPORTED #ifdef PNG_FIXED_POINT_SUPPORTED if (info_ptr->valid & PNG_INFO_cHRM) - if (abs(info_ptr->int_x_white - 31270L) > 1000 || - abs(info_ptr->int_y_white - 32900L) > 1000 || - abs(info_ptr->int_x_red - 64000L) > 1000 || - abs(info_ptr->int_y_red - 33000L) > 1000 || - abs(info_ptr->int_x_green - 30000L) > 1000 || - abs(info_ptr->int_y_green - 60000L) > 1000 || - abs(info_ptr->int_x_blue - 15000L) > 1000 || - abs(info_ptr->int_y_blue - 6000L) > 1000) + if (abs((png_int_32)(info_ptr->int_x_white - 31270L)) > 1000 || + abs((png_int_32)(info_ptr->int_y_white - 32900L)) > 1000 || + abs((png_int_32)(info_ptr->int_x_red - 64000L)) > 1000 || + abs((png_int_32)(info_ptr->int_y_red - 33000L)) > 1000 || + abs((png_int_32)(info_ptr->int_x_green - 30000L)) > 1000 || + abs((png_int_32)(info_ptr->int_y_green - 60000L)) > 1000 || + abs((png_int_32)(info_ptr->int_x_blue - 15000L)) > 1000 || + abs((png_int_32)(info_ptr->int_y_blue - 6000L)) > 1000) { png_warning(png_ptr, "Ignoring incorrect cHRM value when sRGB is also present"); @@ -2160,7 +2160,7 @@ png_handle_unknown(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) { #if defined(PNG_READ_UNKNOWN_CHUNKS_SUPPORTED) if(png_handle_as_unknown(png_ptr, png_ptr->chunk_name) != - HANDLE_CHUNK_ALWAYS + PNG_HANDLE_CHUNK_ALWAYS #if defined(PNG_READ_USER_CHUNKS_SUPPORTED) && png_ptr->read_user_chunk_fn == NULL #endif @@ -2194,7 +2194,7 @@ png_handle_unknown(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) { if (!(png_ptr->chunk_name[0] & 0x20)) if(png_handle_as_unknown(png_ptr, png_ptr->chunk_name) != - HANDLE_CHUNK_ALWAYS) + PNG_HANDLE_CHUNK_ALWAYS) { png_free(png_ptr, chunk.data); png_chunk_error(png_ptr, "unknown critical chunk"); diff --git a/pngset.c b/pngset.c index 20bd1e2a..d4f70cc0 100644 --- a/pngset.c +++ b/pngset.c @@ -1,7 +1,7 @@ /* pngset.c - storage of image information into info struct * - * libpng 1.2.6rc1 - August 4, 2004 + * libpng 1.2.6rc2 - August 8, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -1061,12 +1061,12 @@ png_set_keep_unknown_chunks(png_structp png_ptr, int keep, png_bytep int i, old_num_chunks; if (num_chunks == 0) { - if(keep == HANDLE_CHUNK_ALWAYS || keep == HANDLE_CHUNK_IF_SAFE) + if(keep == PNG_HANDLE_CHUNK_ALWAYS || keep == PNG_HANDLE_CHUNK_IF_SAFE) png_ptr->flags |= PNG_FLAG_KEEP_UNKNOWN_CHUNKS; else png_ptr->flags &= ~PNG_FLAG_KEEP_UNKNOWN_CHUNKS; - if(keep == HANDLE_CHUNK_ALWAYS) + if(keep == PNG_HANDLE_CHUNK_ALWAYS) png_ptr->flags |= PNG_FLAG_KEEP_UNSAFE_CHUNKS; else png_ptr->flags &= ~PNG_FLAG_KEEP_UNSAFE_CHUNKS; diff --git a/pngtest.c b/pngtest.c index 446a335c..fd90146e 100644 --- a/pngtest.c +++ b/pngtest.c @@ -1,7 +1,7 @@ /* pngtest.c - a simple test program to test libpng * - * libpng 1.2.6rc1 - August 4, 2004 + * libpng 1.2.6rc2 - August 8, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -510,7 +510,9 @@ png_debug_malloc(png_structp png_ptr, png_uint_32 size) /* This calls the library allocator twice, once to get the requested buffer and once to get a new free list entry. */ { - memory_infop pinfo = (memory_infop)png_malloc_default(png_ptr, + /* Disable malloc_fn and free_fn */ + png_set_mem_fn(png_ptr, NULL, NULL, NULL); + memory_infop pinfo = (memory_infop)png_malloc(png_ptr, (png_uint_32)png_sizeof (*pinfo)); pinfo->size = size; current_allocation += size; @@ -518,12 +520,16 @@ png_debug_malloc(png_structp png_ptr, png_uint_32 size) num_allocations ++; if (current_allocation > maximum_allocation) maximum_allocation = current_allocation; - pinfo->pointer = (png_voidp)png_malloc_default(png_ptr, size); + pinfo->pointer = (png_voidp)png_malloc(png_ptr, size); + /* Restore malloc_fn and free_fn */ + png_set_mem_fn(png_ptr, png_voidp_NULL, (png_malloc_ptr)png_debug_malloc, + (png_free_ptr)png_debug_free); if (size != 0 && pinfo->pointer == NULL) { current_allocation -= size; total_allocation -= size; - png_error(png_ptr,"out of memory in pngtest->png_malloc_default.\n"); + png_error(png_ptr, + "out of memory in pngtest->png_debug_malloc."); } pinfo->next = pinformation; pinformation = pinfo; @@ -777,14 +783,18 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname) png_set_write_user_transform_fn(write_ptr, count_zero_samples); #endif -#define HANDLE_CHUNK_IF_SAFE 2 -#define HANDLE_CHUNK_ALWAYS 3 #if defined(PNG_READ_UNKNOWN_CHUNKS_SUPPORTED) - png_set_keep_unknown_chunks(read_ptr, HANDLE_CHUNK_ALWAYS, +# ifndef PNG_HANDLE_CHUNK_ALWAYS +# define PNG_HANDLE_CHUNK_ALWAYS 3 +# endif + png_set_keep_unknown_chunks(read_ptr, PNG_HANDLE_CHUNK_ALWAYS, png_bytep_NULL, 0); #endif #if defined(PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED) - png_set_keep_unknown_chunks(write_ptr, HANDLE_CHUNK_IF_SAFE, +# ifndef PNG_HANDLE_CHUNK_IF_SAFE +# define PNG_HANDLE_CHUNK_IF_SAFE 2 +# endif + png_set_keep_unknown_chunks(write_ptr, PNG_HANDLE_CHUNK_IF_SAFE, png_bytep_NULL, 0); #endif @@ -1544,4 +1554,4 @@ main(int argc, char *argv[]) } /* Generate a compiler error if there is an old png.h in the search path. */ -typedef version_1_2_6rc1 your_png_h_is_not_version_1_2_6rc1; +typedef version_1_2_6rc2 your_png_h_is_not_version_1_2_6rc2; diff --git a/pngtrans.c b/pngtrans.c index e13495f6..09fe1279 100644 --- a/pngtrans.c +++ b/pngtrans.c @@ -1,7 +1,7 @@ /* pngtrans.c - transforms the data in a row (used by both readers and writers) * - * libpng 1.2.6rc1 - August 4, 2004 + * libpng 1.2.6rc2 - August 8, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngvcrd.c b/pngvcrd.c index 2516aa8e..db89e34a 100644 --- a/pngvcrd.c +++ b/pngvcrd.c @@ -2,7 +2,7 @@ * * For Intel x86 CPU and Microsoft Visual C++ compiler * - * libpng version 1.2.6rc1 - August 4, 2004 + * libpng version 1.2.6rc2 - August 8, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998, Intel Corporation diff --git a/pngwio.c b/pngwio.c index 7f0fe452..181388f6 100644 --- a/pngwio.c +++ b/pngwio.c @@ -1,7 +1,7 @@ /* pngwio.c - functions for data output * - * libpng 1.2.6rc1 - August 4, 2004 + * libpng 1.2.6rc2 - August 8, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngwrite.c b/pngwrite.c index 9760cc8d..dc737e24 100644 --- a/pngwrite.c +++ b/pngwrite.c @@ -1,7 +1,7 @@ /* pngwrite.c - general routines to write a PNG file * - * libpng 1.2.6rc1 - August 4, 2004 + * libpng 1.2.6rc2 - August 8, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -104,10 +104,10 @@ png_write_info_before_PLTE(png_structp png_ptr, png_infop info_ptr) up++) { int keep=png_handle_as_unknown(png_ptr, up->name); - if (keep != HANDLE_CHUNK_NEVER && + if (keep != PNG_HANDLE_CHUNK_NEVER && up->location && !(up->location & PNG_HAVE_PLTE) && !(up->location & PNG_HAVE_IDAT) && - ((up->name[3] & 0x20) || keep == HANDLE_CHUNK_ALWAYS || + ((up->name[3] & 0x20) || keep == PNG_HANDLE_CHUNK_ALWAYS || (png_ptr->flags & PNG_FLAG_KEEP_UNSAFE_CHUNKS))) { png_write_chunk(png_ptr, up->name, up->data, up->size); @@ -268,10 +268,10 @@ png_write_info(png_structp png_ptr, png_infop info_ptr) up++) { int keep=png_handle_as_unknown(png_ptr, up->name); - if (keep != HANDLE_CHUNK_NEVER && + if (keep != PNG_HANDLE_CHUNK_NEVER && up->location && (up->location & PNG_HAVE_PLTE) && !(up->location & PNG_HAVE_IDAT) && - ((up->name[3] & 0x20) || keep == HANDLE_CHUNK_ALWAYS || + ((up->name[3] & 0x20) || keep == PNG_HANDLE_CHUNK_ALWAYS || (png_ptr->flags & PNG_FLAG_KEEP_UNSAFE_CHUNKS))) { png_write_chunk(png_ptr, up->name, up->data, up->size); @@ -368,9 +368,9 @@ png_write_end(png_structp png_ptr, png_infop info_ptr) up++) { int keep=png_handle_as_unknown(png_ptr, up->name); - if (keep != HANDLE_CHUNK_NEVER && + if (keep != PNG_HANDLE_CHUNK_NEVER && up->location && (up->location & PNG_AFTER_IDAT) && - ((up->name[3] & 0x20) || keep == HANDLE_CHUNK_ALWAYS || + ((up->name[3] & 0x20) || keep == PNG_HANDLE_CHUNK_ALWAYS || (png_ptr->flags & PNG_FLAG_KEEP_UNSAFE_CHUNKS))) { png_write_chunk(png_ptr, up->name, up->data, up->size); diff --git a/pngwtran.c b/pngwtran.c index 0453c8d2..a4113e6e 100644 --- a/pngwtran.c +++ b/pngwtran.c @@ -1,7 +1,7 @@ /* pngwtran.c - transforms the data in a row for PNG writers * - * libpng version 1.2.6rc1 - August 4, 2004 + * libpng version 1.2.6rc2 - August 8, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngwutil.c b/pngwutil.c index 35310317..44c18f62 100644 --- a/pngwutil.c +++ b/pngwutil.c @@ -1,7 +1,7 @@ /* pngwutil.c - utilities to write a PNG file * - * libpng version 1.2.6rc1 - August 4, 2004 + * libpng version 1.2.6rc2 - August 8, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in index 423221d8..d61a4c51 100755 --- a/scripts/libpng-config-head.in +++ b/scripts/libpng-config-head.in @@ -8,7 +8,7 @@ # Modeled after libxml-config. -version=1.2.6rc1 +version=1.2.6rc2 prefix="" libdir="" libs="" diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in index a1bbdc7e..dfee96ec 100644 --- a/scripts/libpng.pc.in +++ b/scripts/libpng.pc.in @@ -6,6 +6,6 @@ includedir=${exec_prefix}/include Name: libpng12 Description: Loads and saves PNG files -Version: 1.2.6rc1 +Version: 1.2.6rc2 Libs: -L${libdir} -lpng12 -lz -lm Cflags: -I${includedir}/libpng12 diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu index b85cd3cf..bd135735 100644 --- a/scripts/makefile.32sunu +++ b/scripts/makefile.32sunu @@ -33,7 +33,7 @@ RANLIB=echo LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.6rc1 +PNGMIN = 1.2.6rc2 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include @@ -141,6 +141,7 @@ install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \ libpng.so.3.$(PNGMIN) -@if [ ! -d $(DL) ]; then mkdir $(DL); fi -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so + -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ) -@/bin/rm -f $(DL)/libpng.so -@/bin/rm -f $(DL)/libpng.so.3 -@/bin/rm -f $(DL)/libpng.so.3.$(PNGVER)* diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu index 1896b991..fe59c64c 100644 --- a/scripts/makefile.64sunu +++ b/scripts/makefile.64sunu @@ -33,7 +33,7 @@ RANLIB=echo LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.6rc1 +PNGMIN = 1.2.6rc2 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include @@ -140,7 +140,9 @@ install-static: install-headers libpng.a install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \ libpng.so.3.$(PNGMIN) -@if [ ! -d $(DL) ]; then mkdir $(DL); fi - -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ).$(PNGVER)* $(DL)/$(LIBNAME).so + -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ).$(PNGVER)* + -@/bin/rm -f $(DL)/$(LIBNAME).so + -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ) -@/bin/rm -f $(DL)/libpng.so -@/bin/rm -f $(DL)/libpng.so.3 -@/bin/rm -f $(DL)/libpng.so.3.$(PNGVER)* diff --git a/scripts/makefile.aix b/scripts/makefile.aix index 805508f3..e3b3556d 100644 --- a/scripts/makefile.aix +++ b/scripts/makefile.aix @@ -18,7 +18,7 @@ RM = rm -f LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.6rc1 +PNGMIN = 1.2.6rc2 PNGVER = $(PNGMAJ).$(PNGMIN) prefix=/usr/local diff --git a/scripts/makefile.beos b/scripts/makefile.beos index 901e700d..c6abf9be 100644 --- a/scripts/makefile.beos +++ b/scripts/makefile.beos @@ -12,7 +12,7 @@ ZLIBLIB=/usr/local/lib ZLIBINC=/usr/local/include PNGMAJ = 0 -PNGMIN = 1.2.6rc1 +PNGMIN = 1.2.6rc2 PNGVER = $(PNGMAJ).$(PNGMIN) ALIGN= @@ -123,6 +123,7 @@ install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \ libpng.so.3.$(PNGMIN) -@if [ ! -d $(DL) ]; then mkdir $(DL); fi -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so + -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ) -@/bin/rm -f $(DL)/libpng.so -@/bin/rm -f $(DL)/libpng.so.3 -@/bin/rm -f $(DL)/libpng.so.3.$(PNGMIN)* diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin index 0b31622b..8fdfc610 100644 --- a/scripts/makefile.cygwin +++ b/scripts/makefile.cygwin @@ -79,7 +79,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \ LIBNAME = libpng12 PNGMAJ = 0 CYGDLL = 12 -PNGMIN = 1.2.6rc1 +PNGMIN = 1.2.6rc2 PNGVER = $(PNGMAJ).$(PNGMIN) SHAREDLIB=cygpng$(CYGDLL).dll diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin index 1d1fb5ce..ca5bc689 100644 --- a/scripts/makefile.darwin +++ b/scripts/makefile.darwin @@ -23,7 +23,7 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng12 -lz RANLIB=ranlib PNGMAJ = 0 -PNGMIN = 1.2.6rc1 +PNGMIN = 1.2.6rc2 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 @@ -124,6 +124,7 @@ install-shared: install-headers $(LIBNAME).dylib libpng.pc \ libpng.3.$(PNGMIN).dylib -@if [ ! -d $(DL) ]; then mkdir $(DL); fi -@/bin/rm -f $(DL)/$(LIBNAME).$(PNGVER)*.dylib + -@/bin/rm -f $(DL)/$(LIBNAME).$(PNGMAJ)*.dylib -@/bin/rm -f $(DL)/$(LIBNAME).dylib -@/bin/rm -f $(DL)/libpng.dylib -@/bin/rm -f $(DL)/libpng.3.dylib diff --git a/scripts/makefile.dec b/scripts/makefile.dec index c246407c..38e683f1 100644 --- a/scripts/makefile.dec +++ b/scripts/makefile.dec @@ -32,7 +32,7 @@ ZLIBLIB=../zlib ZLIBINC=../zlib PNGMAJ = 0 -PNGMIN = 1.2.6rc1 +PNGMIN = 1.2.6rc2 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 @@ -106,6 +106,7 @@ install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \ libpng.so.3.$(PNGMIN) -@if [ ! -d $(DL) ]; then mkdir $(DL); fi -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so + -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ) -@/bin/rm -f $(DL)/libpng.so -@/bin/rm -f $(DL)/libpng.so.3 -@/bin/rm -f $(DL)/libpng.so.3.$(PNGMIN)* diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx index 47ee6166..234254d3 100644 --- a/scripts/makefile.gcmmx +++ b/scripts/makefile.gcmmx @@ -15,7 +15,7 @@ LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.6rc1 +PNGMIN = 1.2.6rc2 PNGVER = $(PNGMAJ).$(PNGMIN) CC=gcc @@ -170,6 +170,7 @@ install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \ libpng.so.3.$(PNGMIN) -@if [ ! -d $(DL) ]; then mkdir $(DL); fi -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so + -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ) -@/bin/rm -f $(DL)/libpng.so -@/bin/rm -f $(DL)/libpng.so.3 -@/bin/rm -f $(DL)/libpng.so.3.$(PNGMIN)* diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc index e4dba9ab..2f0b5c4b 100644 --- a/scripts/makefile.hpgcc +++ b/scripts/makefile.hpgcc @@ -41,7 +41,7 @@ RANLIB=ranlib #RANLIB=echo PNGMAJ = 0 -PNGMIN = 1.2.6rc1 +PNGMIN = 1.2.6rc2 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 @@ -134,6 +134,7 @@ install-shared: install-headers $(LIBNAME).sl.$(PNGVER) libpng.pc \ libpng.sl.3.$(PNGMIN) -@if [ ! -d $(DL) ]; then mkdir $(DL); fi -@/bin/rm -f $(DL)/$(LIBNAME).sl.$(PNGVER)* $(DL)/$(LIBNAME).sl + -@/bin/rm -f $(DL)/$(LIBNAME).sl.$(PNGMAJ) -@/bin/rm -f $(DL)/libpng.sl -@/bin/rm -f $(DL)/libpng.sl.3 -@/bin/rm -f $(DL)/libpng.sl.3.$(PNGMIN)* diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux index 3699a7e8..598cfc0c 100644 --- a/scripts/makefile.hpux +++ b/scripts/makefile.hpux @@ -24,7 +24,7 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm RANLIB=ranlib PNGMAJ = 0 -PNGMIN = 1.2.6rc1 +PNGMIN = 1.2.6rc2 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 @@ -120,6 +120,7 @@ install-shared: install-headers $(LIBNAME).sl.$(PNGVER) libpng.pc \ libpng.sl.3.$(PNGMIN) -@if [ ! -d $(DL) ]; then mkdir $(DL); fi -@/bin/rm -f $(DL)/$(LIBNAME).sl.$(PNGVER)* $(DL)/$(LIBNAME).sl + -@/bin/rm -f $(DL)/$(LIBNAME).sl.$(PNGMAJ) -@/bin/rm -f $(DL)/libpng.sl -@/bin/rm -f $(DL)/libpng.sl.3 -@/bin/rm -f $(DL)/libpng.sl.3.$(PNGMIN)* diff --git a/scripts/makefile.linux b/scripts/makefile.linux index a82fbbdf..13901e29 100644 --- a/scripts/makefile.linux +++ b/scripts/makefile.linux @@ -5,7 +5,7 @@ LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.6rc1 +PNGMIN = 1.2.6rc2 PNGVER = $(PNGMAJ).$(PNGMIN) CC=gcc @@ -142,6 +142,7 @@ install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \ libpng.so.3.$(PNGMIN) -@if [ ! -d $(DL) ]; then mkdir $(DL); fi -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so + -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ) -@/bin/rm -f $(DL)/libpng.so -@/bin/rm -f $(DL)/libpng.so.3 -@/bin/rm -f $(DL)/libpng.so.3.$(PNGMIN)* diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd index 5b751407..c7c23327 100644 --- a/scripts/makefile.ne12bsd +++ b/scripts/makefile.ne12bsd @@ -13,7 +13,7 @@ INCSDIR=${LOCALBASE}/include/libpng12 LIB= png12 SHLIB_MAJOR= 0 -SHLIB_MINOR= 1.2.6rc1 +SHLIB_MINOR= 1.2.6rc2 SRCS= pnggccrd.c 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 3a21b763..6d67dbd0 100644 --- a/scripts/makefile.netbsd +++ b/scripts/makefile.netbsd @@ -13,7 +13,7 @@ INCSDIR=${LOCALBASE}/include/libpng LIB= png SHLIB_MAJOR= 3 -SHLIB_MINOR= 1.2.6rc1 +SHLIB_MINOR= 1.2.6rc2 SRCS= pnggccrd.c 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 c0734e5f..dcfb33b4 100644 --- a/scripts/makefile.openbsd +++ b/scripts/makefile.openbsd @@ -7,7 +7,7 @@ LIBDIR= ${PREFIX}/lib MANDIR= ${PREFIX}/man/cat SHLIB_MAJOR= 0 -SHLIB_MINOR= 1.2.6rc1 +SHLIB_MINOR= 1.2.6rc2 LIB= png SRCS= png.c pngerror.c pnggccrd.c pngget.c pngmem.c pngpread.c \ diff --git a/scripts/makefile.sco b/scripts/makefile.sco index 01f94de0..eab699a4 100644 --- a/scripts/makefile.sco +++ b/scripts/makefile.sco @@ -24,7 +24,7 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng12 -lz -lm RANLIB=echo PNGMAJ = 0 -PNGMIN = 1.2.6rc1 +PNGMIN = 1.2.6rc2 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 @@ -120,6 +120,7 @@ install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \ libpng.so.3.$(PNGMIN) -@if [ ! -d $(DL) ]; then mkdir $(DL); fi -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so + -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ) -@/bin/rm -f $(DL)/libpng.so -@/bin/rm -f $(DL)/libpng.so.3 -@/bin/rm -f $(DL)/libpng.so.3.$(PNGMIN)* @@ -156,7 +157,7 @@ install-config: libpng-config -@/bin/rm -f $(DB)/$(LIBNAME)-config cp libpng-config $(DB)/$(LIBNAME)-config chmod 755 $(DB)/$(LIBNAME)-config - (cd $(DB); ln -sf $(LIBNAME)-config libpng-config) + (cd $(DB); ln -f -s $(LIBNAME)-config libpng-config) install: install-static install-shared install-man install-config diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc index 53b24914..f7491258 100644 --- a/scripts/makefile.sggcc +++ b/scripts/makefile.sggcc @@ -18,7 +18,7 @@ ZLIBINC=../zlib LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.6rc1 +PNGMIN = 1.2.6rc2 PNGVER = $(PNGMAJ).$(PNGMIN) CC=gcc @@ -127,6 +127,7 @@ install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \ libpng.so.3.$(PNGMIN) -@if [ ! -d $(DL) ]; then mkdir $(DL); fi -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so + -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ) -@/bin/rm -f $(DL)/libpng.so -@/bin/rm -f $(DL)/libpng.so.3 -@/bin/rm -f $(DL)/libpng.so.3.$(PNGMIN)* diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi index 1104f95e..fe235cd6 100644 --- a/scripts/makefile.sgi +++ b/scripts/makefile.sgi @@ -5,7 +5,7 @@ LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.6rc1 +PNGMIN = 1.2.6rc2 PNGVER = $(PNGMAJ).$(PNGMIN) # Where make install puts libpng.a, libpng12.so, and libpng12/png.h @@ -133,6 +133,7 @@ install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \ libpng.so.3.$(PNGMIN) -@if [ ! -d $(DL) ]; then mkdir $(DL); fi -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so + -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ) -@/bin/rm -f $(DL)/libpng.so -@/bin/rm -f $(DL)/libpng.so.3 -@/bin/rm -f $(DL)/libpng.so.3.$(PNGMIN)* diff --git a/scripts/makefile.so9 b/scripts/makefile.so9 index 6d0b18fd..568b2ce5 100644 --- a/scripts/makefile.so9 +++ b/scripts/makefile.so9 @@ -34,7 +34,7 @@ LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng12 -lz -lm RANLIB=echo PNGMAJ = 0 -PNGMIN = 1.2.6rc1 +PNGMIN = 1.2.6rc2 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 @@ -140,6 +140,7 @@ install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \ libpng.so.3.$(PNGMIN) -@if [ ! -d $(DL) ]; then mkdir $(DL); fi -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so + -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ) -@/bin/rm -f $(DL)/libpng.so -@/bin/rm -f $(DL)/libpng.so.3 -@/bin/rm -f $(DL)/libpng.so.3.$(PNGMIN)* @@ -176,7 +177,7 @@ install-config: libpng-config -@/bin/rm -f $(DB)/$(LIBNAME)-config cp libpng-config $(DB)/$(LIBNAME)-config chmod 755 $(DB)/$(LIBNAME)-config - (cd $(DB); ln -sf $(LIBNAME)-config libpng-config) + (cd $(DB); ln -f -s $(LIBNAME)-config libpng-config) install: install-static install-shared install-man install-config diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris index 68d84e9d..030ac782 100644 --- a/scripts/makefile.solaris +++ b/scripts/makefile.solaris @@ -1,5 +1,5 @@ # makefile for libpng on Solaris 2.x with gcc -# Copyright (C) 2002 Glenn Randers-Pehrson +# Copyright (C) 2004 Glenn Randers-Pehrson # Contributed by William L. Sebok, based on makefile.linux # Copyright (C) 1998 Greg Roelofs # Copyright (C) 1996, 1997 Andreas Dilger @@ -22,7 +22,7 @@ ZLIBINC=/usr/local/include WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \ -Wmissing-declarations -Wtraditional -Wcast-align \ -Wstrict-prototypes -Wmissing-prototypes #-Wconversion -CFLAGS=-I$(ZLIBINC) -Wall -O3 \ +CFLAGS=-I$(ZLIBINC) -Wall -O \ # $(WARNMORE) -g -DPNG_DEBUG=5 LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng12 -lz -lm @@ -30,7 +30,7 @@ LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng12 -lz -lm RANLIB=echo PNGMAJ = 0 -PNGMIN = 1.2.6rc1 +PNGMIN = 1.2.6rc2 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 @@ -137,6 +137,7 @@ install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \ libpng.so.3.$(PNGMIN) -@if [ ! -d $(DL) ]; then mkdir $(DL); fi -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so + -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ) -@/bin/rm -f $(DL)/libpng.so -@/bin/rm -f $(DL)/libpng.so.3 -@/bin/rm -f $(DL)/libpng.so.3.$(PNGMIN)* @@ -173,7 +174,7 @@ install-config: libpng-config -@/bin/rm -f $(DB)/$(LIBNAME)-config cp libpng-config $(DB)/$(LIBNAME)-config chmod 755 $(DB)/$(LIBNAME)-config - (cd $(DB); ln -sf $(LIBNAME)-config libpng-config) + (cd $(DB); ln -s -f $(LIBNAME)-config libpng-config) install: install-static install-shared install-man install-config diff --git a/scripts/pngos2.def b/scripts/pngos2.def index 7a7fc97a..ba8c2a73 100644 --- a/scripts/pngos2.def +++ b/scripts/pngos2.def @@ -2,7 +2,7 @@ ; PNG.LIB module definition file for OS/2 ;---------------------------------------- -; Version 1.2.6rc1 +; Version 1.2.6rc2 LIBRARY PNG DESCRIPTION "PNG image compression library for OS/2" diff --git a/scripts/pngw32.def b/scripts/pngw32.def index 875a415c..5af2a280 100644 --- a/scripts/pngw32.def +++ b/scripts/pngw32.def @@ -6,7 +6,7 @@ LIBRARY DESCRIPTION "PNG image compression library for Windows" EXPORTS -;Version 1.2.6rc1 +;Version 1.2.6rc2 png_build_grayscale_palette @1 png_check_sig @2 png_chunk_error @3