Hello community,
here is the log from the commit of package libpng15 for openSUSE:Factory checked in at 2012-02-03 10:23:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libpng15 (Old)
and /work/SRC/openSUSE:Factory/.libpng15.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libpng15", Maintainer is ""
Changes:
--------
--- /work/SRC/openSUSE:Factory/libpng15/libpng15.changes 2011-12-21 10:01:05.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libpng15.new/libpng15.changes 2012-02-03 10:23:43.000000000 +0100
@@ -1,0 +2,7 @@
+Thu Feb 2 15:10:08 UTC 2012 - pgajdos@suse.com
+
+- updated to 1.5.8:
+ Fixed one-byte (stack) buffer-overrun bug in png_formatted_warning()
+ (CVE-2011-3464)
+
+-------------------------------------------------------------------
Old:
----
libpng-1.5.7.tar.bz2
New:
----
libpng-1.5.8.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libpng15.spec ++++++
--- /var/tmp/diff_new_pack.98yaP4/_old 2012-02-03 10:23:45.000000000 +0100
+++ /var/tmp/diff_new_pack.98yaP4/_new 2012-02-03 10:23:45.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package libpng15
#
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
#
%define major 1
%define minor 5
-%define micro 7
+%define micro 8
%define branch %{major}%{minor}
%define libname libpng%{branch}-%{branch}
++++++ libpng-1.5.7.tar.bz2 -> libpng-1.5.8.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.5.7/ANNOUNCE new/libpng-1.5.8/ANNOUNCE
--- old/libpng-1.5.7/ANNOUNCE 2011-12-15 16:45:31.000000000 +0100
+++ new/libpng-1.5.8/ANNOUNCE 2012-02-01 06:00:33.000000000 +0100
@@ -1,5 +1,5 @@
-Libpng 1.5.7 - December 15, 2011
+Libpng 1.5.8 - February 1, 2012
This is a public release of libpng, intended for use in production codes.
@@ -8,86 +8,30 @@
Source files with LF line endings (for Unix/Linux) and with a
"configure" script
- libpng-1.5.7.tar.xz (LZMA-compressed, recommended)
- libpng-1.5.7.tar.gz
- libpng-1.5.7.tar.bz2
+ libpng-1.5.8.tar.xz (LZMA-compressed, recommended)
+ libpng-1.5.8.tar.gz
+ libpng-1.5.8.tar.bz2
Source files with CRLF line endings (for Windows), without the
"configure" script
- lpng157.7z (LZMA-compressed, recommended)
- lpng157.zip
+ lpng158.7z (LZMA-compressed, recommended)
+ lpng158.zip
Other information:
- libpng-1.5.7-README.txt
- libpng-1.5.7-LICENSE.txt
+ libpng-1.5.8-README.txt
+ libpng-1.5.8-LICENSE.txt
-Changes since the last public release (1.5.6):
- Added support for ARM processor (Mans Rullgard)
- Fixed bug in pngvalid on early allocation failure; fixed type cast in
- pngmem.c; pngvalid would attempt to call png_error() if the allocation
- of a png_struct or png_info failed. This would probably have led to a
- crash. The pngmem.c implementation of png_malloc() included a cast
- to png_size_t which would fail on large allocations on 16-bit systems.
- Fix for the preprocessor of the Intel C compiler. The preprocessor
- splits adjacent @ signs with a space; this changes the concatentation
- token from @-@-@ to PNG_JOIN; that should work with all compiler
- preprocessors.
- Paeth filter speed improvements from work by Siarhei Siamashka. This
- changes the 'Paeth' reconstruction function to improve the GCC code
- generation on x86. The changes are only part of the suggested ones;
- just the changes that definitely improve speed and remain simple.
- The changes also slightly increase the clarity of the code.
- Check compression_type parameter in png_get_iCCP and remove spurious
- casts. The compression_type parameter is always assigned to, so must
- be non-NULL. The cast of the profile length potentially truncated the
- value unnecessarily on a 16-bit int system, so the cast of the (byte)
- compression type to (int) is specified by ANSI-C anyway.
- Fixed FP division by zero in pngvalid.c; the 'test_pixel' code left
- the sBIT fields in the test pixel as 0, which resulted in a floating
- point division by zero which was irrelevant but causes systems where
- FP exceptions cause a crash. Added code to pngvalid to turn on FP
- exceptions if the appropriate glibc support is there to ensure this is
- tested in the future.
- Added versioning to pnglibconf.h comments.
- Installed more accurate linear to sRGB conversion tables. The slightly
- modified tables reduce the number of 16-bit values that
- convert to an off-by-one 8-bit value. The "makesRGB.c" code that was used
- to generate the tables is now in a contrib/sRGBtables sub-directory.
- Added run-time detection of NEON support.
- Multiple transform bug fixes plus a work-round for double gamma correction.
- libpng does not support more than one transform that requires linear data
- at once - if this is tried typically the results is double gamma
- correction. Since the simplified APIs can need rgb to gray combined with
- a compose operation it is necessary to do one of these outside the main
- libpng transform code. This check-in also contains fixes to various bugs
- in compose and rgb to gray (on palette).
- Fixes for C++ compilation using g++ When libpng source is compiled
- using g++. The compiler imposes C++ rules on the C source; thus it
- is desireable to make the source work with either C or C++ rules
- without throwing away useful error information. This change adds
- png_voidcast to allow C semantic (void*) cases or the corresponding
- C++ static_cast operation, as appropriate.
- Added --noexecstack to assembler file compilation. GCC does not set
- this on assembler compilation, even though it does on C compilation.
- This creates security issues if assembler code is enabled; the
- work-around is to set it by default in the flags for $(CCAS)
- Removed "zTXt" from warning in generic chunk decompression function.
- Validate time settings passed to pngset() and png_convert_to_rfc1123()
- (Frank Busse).
- Added MINGW support to CMakeLists.txt
- Reject invalid compression flag or method when reading the iTXt chunk.
- Moved pngvalid.c into contrib/libtests
- Rebuilt Makefile.in, configure, etc., with autoconf-2.68
- Replaced an "#if" with "#ifdef" in pngrtran.c
- Revised #if PNG_DO_BC block in png.c (use #ifdef and add #else)
- Revised pngconf.h to use " __declspec(restrict)" only when MSC_VER >= 1400,
- as in libpng-1.5.4.
- Put CRLF line endings in the owatcom project files.
- Updated CMakeLists.txt to account for the relocation of pngvalid.c
- Minor fixes to pngvalid.c for gcc 4.6.2 compatibility to remove warnings
- reported by earlier versions.
+Changes since the last public release (1.5.7):
+ Removed '#include config.h"' from contrib/libtests/pngvalid.c. It's not
+ needed and causes trouble for VPATH building.
+ Moved AC_MSG_CHECKING([if libraries can be versioned]) later to the proper
+ location in configure.ac (Gilles Espinasse).
+ Fix bug in pngerror.c: some long warnings were being improperly truncated
+ (bug introduced in libpng-1.5.4).
+ Fixed Min/GW uninstall to remove libpng.dll.a
+ Conditionalize the install rules for MINGW and CYGWIN in CMakeLists.txt
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.5.7/CHANGES new/libpng-1.5.8/CHANGES
--- old/libpng-1.5.7/CHANGES 2011-12-15 16:45:32.000000000 +0100
+++ new/libpng-1.5.8/CHANGES 2012-02-01 06:00:34.000000000 +0100
@@ -3776,6 +3776,22 @@
Minor fixes to pngvalid.c for gcc 4.6.2 compatibility to remove warnings
reported by earlier versions.
+Version 1.5.8beta01 [January 15, 2011]
+ Removed '#include config.h"' from contrib/libtests/pngvalid.c. It's not
+ needed and causes trouble for VPATH building.
+ Moved AC_MSG_CHECKING([if libraries can be versioned]) later to the proper
+ location in configure.ac (Gilles Espinasse).
+ Fix bug in pngerror.c: some long warnings were being improperly truncated
+ (bug introduced in libpng-1.5.3beta05).
+
+Version 1.5.8rc01 [January 21, 2012]
+ No changes.
+
+Version 1.5.8rc02 [January 25, 2012]
+ Fixed Min/GW uninstall to remove libpng.dll.a
+ Conditionalize the install rules for MINGW and CYGWIN in CMakeLists.txt
+
+
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.5.7/CMakeLists.txt new/libpng-1.5.8/CMakeLists.txt
--- old/libpng-1.5.7/CMakeLists.txt 2011-12-15 16:45:32.000000000 +0100
+++ new/libpng-1.5.8/CMakeLists.txt 2012-02-01 06:00:34.000000000 +0100
@@ -35,7 +35,7 @@
set(PNGLIB_MAJOR 1)
set(PNGLIB_MINOR 5)
-set(PNGLIB_RELEASE 7)
+set(PNGLIB_RELEASE 8)
set(PNGLIB_NAME libpng${PNGLIB_MAJOR}${PNGLIB_MINOR})
set(PNGLIB_VERSION ${PNGLIB_MAJOR}.${PNGLIB_MINOR}.${PNGLIB_RELEASE})
@@ -212,24 +212,24 @@
# Only do this on Windows for Cygwin - the files don't make much sense outside
# a UNIX look alike
if(NOT WIN32 OR CYGWIN OR MINGW)
-set(prefix ${CMAKE_INSTALL_PREFIX})
-set(exec_prefix ${CMAKE_INSTALL_PREFIX})
-set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})
-set(includedir ${CMAKE_INSTALL_PREFIX}/include)
-set(LIBS "-lz -lm")
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng.pc.in
- ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc @ONLY)
-CREATE_SYMLINK(${PNGLIB_NAME}.pc libpng.pc)
-
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng-config.in
- ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config @ONLY)
-CREATE_SYMLINK(${PNGLIB_NAME}-config libpng-config)
+ set(prefix ${CMAKE_INSTALL_PREFIX})
+ set(exec_prefix ${CMAKE_INSTALL_PREFIX})
+ set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})
+ set(includedir ${CMAKE_INSTALL_PREFIX}/include)
+ set(LIBS "-lz -lm")
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng.pc.in
+ ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc @ONLY)
+ CREATE_SYMLINK(${PNGLIB_NAME}.pc libpng.pc)
+
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng-config.in
+ ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config @ONLY)
+ CREATE_SYMLINK(${PNGLIB_NAME}-config libpng-config)
endif(NOT WIN32 OR CYGWIN OR MINGW)
# SET UP LINKS
if(PNG_SHARED)
set_target_properties(${PNG_LIB_NAME} PROPERTIES
-# VERSION 15.${PNGLIB_RELEASE}.1.5.7
+# VERSION 15.${PNGLIB_RELEASE}.1.5.8
VERSION 15.${PNGLIB_RELEASE}.0
SOVERSION 15
CLEAN_DIRECT_OUTPUT 1)
@@ -301,10 +301,13 @@
install(FILES ${libpng_public_hdrs} DESTINATION include/${PNGLIB_NAME})
endif()
if(NOT SKIP_INSTALL_EXECUTABLES AND NOT SKIP_INSTALL_ALL )
- install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/libpng-config DESTINATION bin)
- install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config
- DESTINATION bin)
+ if(NOT WIN32 OR CYGWIN OR MINGW)
+ install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/libpng-config DESTINATION bin)
+ install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config
+ DESTINATION bin)
+ endif(NOT WIN32 OR CYGWIN OR MINGW)
endif()
+
if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL )
# Install man pages
if(NOT PNG_MAN_DIR)
@@ -313,14 +316,16 @@
install(FILES libpng.3 libpngpf.3 DESTINATION ${PNG_MAN_DIR}/man3)
install(FILES png.5 DESTINATION ${PNG_MAN_DIR}/man5)
# Install pkg-config files
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng.pc
- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
- install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/libpng-config
- DESTINATION bin)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc
- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
- install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config
- DESTINATION bin)
+ if(NOT WIN32 OR CYGWIN OR MINGW)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng.pc
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+ install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/libpng-config
+ DESTINATION bin)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+ install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config
+ DESTINATION bin)
+ endif(NOT WIN32 OR CYGWIN OR MINGW)
endif()
# On versions of CMake that support it, create an export file CMake
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.5.7/LICENSE new/libpng-1.5.8/LICENSE
--- old/libpng-1.5.7/LICENSE 2011-12-15 16:45:32.000000000 +0100
+++ new/libpng-1.5.8/LICENSE 2012-02-01 06:00:34.000000000 +0100
@@ -10,7 +10,7 @@
This code is released under the libpng license.
-libpng versions 1.2.6, August 15, 2004, through 1.5.7, December 15, 2011, are
+libpng versions 1.2.6, August 15, 2004, through 1.5.8, February 1, 2012, are
Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors
@@ -108,4 +108,4 @@
Glenn Randers-Pehrson
glennrp at users.sourceforge.net
-December 15, 2011
+February 1, 2012
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.5.7/Makefile.am new/libpng-1.5.8/Makefile.am
--- old/libpng-1.5.7/Makefile.am 2011-11-24 18:51:18.000000000 +0100
+++ new/libpng-1.5.8/Makefile.am 2012-01-24 05:55:39.000000000 +0100
@@ -225,3 +225,4 @@
rm -f $(DESTDIR)$(bindir)/libpng-config
rm -f $(DESTDIR)$(libdir)/libpng.a
rm -f $(DESTDIR)$(libdir)/libpng.la
+ rm -f $(DESTDIR)$(libdir)/libpng.dll.a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.5.7/Makefile.in new/libpng-1.5.8/Makefile.in
--- old/libpng-1.5.7/Makefile.in 2011-12-15 16:45:42.000000000 +0100
+++ new/libpng-1.5.8/Makefile.in 2012-02-01 06:00:44.000000000 +0100
@@ -1436,6 +1436,7 @@
rm -f $(DESTDIR)$(bindir)/libpng-config
rm -f $(DESTDIR)$(libdir)/libpng.a
rm -f $(DESTDIR)$(libdir)/libpng.la
+ rm -f $(DESTDIR)$(libdir)/libpng.dll.a
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.5.7/README new/libpng-1.5.8/README
--- old/libpng-1.5.7/README 2011-12-15 16:45:32.000000000 +0100
+++ new/libpng-1.5.8/README 2012-02-01 06:00:34.000000000 +0100
@@ -1,4 +1,4 @@
-README for libpng version 1.5.7 - December 15, 2011 (shared library 15.0)
+README for libpng version 1.5.8 - February 1, 2012 (shared library 15.0)
See the note about version numbers near the top of png.h
See INSTALL for instructions on how to install libpng.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.5.7/configure new/libpng-1.5.8/configure
--- old/libpng-1.5.7/configure 2011-12-15 16:45:41.000000000 +0100
+++ new/libpng-1.5.8/configure 2012-02-01 06:00:43.000000000 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libpng 1.5.7.
+# Generated by GNU Autoconf 2.68 for libpng 1.5.8.
#
# Report bugs to .
#
@@ -570,8 +570,8 @@
# Identity of this package.
PACKAGE_NAME='libpng'
PACKAGE_TARNAME='libpng'
-PACKAGE_VERSION='1.5.7'
-PACKAGE_STRING='libpng 1.5.7'
+PACKAGE_VERSION='1.5.8'
+PACKAGE_STRING='libpng 1.5.8'
PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
PACKAGE_URL=''
@@ -1320,7 +1320,7 @@
# 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.5.7 to adapt to many kinds of systems.
+\`configure' configures libpng 1.5.8 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1390,7 +1390,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libpng 1.5.7:";;
+ short | recursive ) echo "Configuration of libpng 1.5.8:";;
esac
cat <<\_ACEOF
@@ -1501,7 +1501,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libpng configure 1.5.7
+libpng configure 1.5.8
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1924,7 +1924,7 @@
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.5.7, which was
+It was created by libpng $as_me 1.5.8, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -2739,7 +2739,7 @@
# Define the identity of the package.
PACKAGE='libpng'
- VERSION='1.5.7'
+ VERSION='1.5.8'
cat >>confdefs.h <<_ACEOF
@@ -2803,10 +2803,10 @@
-PNGLIB_VERSION=1.5.7
+PNGLIB_VERSION=1.5.8
PNGLIB_MAJOR=1
PNGLIB_MINOR=5
-PNGLIB_RELEASE=7
+PNGLIB_RELEASE=8
@@ -13414,7 +13414,7 @@
# 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.5.7, which was
+This file was extended by libpng $as_me 1.5.8, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -13480,7 +13480,7 @@
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.5.7
+libpng config.status 1.5.8
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.5.7/configure.ac new/libpng-1.5.8/configure.ac
--- old/libpng-1.5.7/configure.ac 2011-12-15 16:45:35.000000000 +0100
+++ new/libpng-1.5.8/configure.ac 2012-02-01 06:00:37.000000000 +0100
@@ -18,15 +18,15 @@
dnl Version number stuff here:
-AC_INIT([libpng], [1.5.7], [png-mng-implement@lists.sourceforge.net])
+AC_INIT([libpng], [1.5.8], [png-mng-implement@lists.sourceforge.net])
AM_INIT_AUTOMAKE
dnl stop configure from automagically running automake
AM_MAINTAINER_MODE
-PNGLIB_VERSION=1.5.7
+PNGLIB_VERSION=1.5.8
PNGLIB_MAJOR=1
PNGLIB_MINOR=5
-PNGLIB_RELEASE=7
+PNGLIB_RELEASE=8
dnl End of version number stuff
@@ -101,8 +101,6 @@
LIBPNG_DEFINES=$LIBPNG_DEFINES
AC_SUBST(LIBPNG_DEFINES)
-AC_MSG_CHECKING([if libraries can be versioned])
-
AC_MSG_CHECKING([if using Solaris linker])
SLD=`$LD --version 2>&1 | grep Solaris`
if test "$SLD"; then
@@ -114,6 +112,7 @@
fi
AM_CONDITIONAL(HAVE_SOLARIS_LD, test "$have_solaris_ld" = "yes")
+AC_MSG_CHECKING([if libraries can be versioned])
# Special case for PE/COFF platforms: ld reports
# support for version-script, but doesn't actually
# DO anything with it.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.5.7/contrib/libtests/pngvalid.c new/libpng-1.5.8/contrib/libtests/pngvalid.c
--- old/libpng-1.5.7/contrib/libtests/pngvalid.c 2011-12-15 16:43:49.000000000 +0100
+++ new/libpng-1.5.8/contrib/libtests/pngvalid.c 2012-01-01 21:49:28.000000000 +0100
@@ -1,8 +1,8 @@
/* pngvalid.c - validate libpng by constructing then reading png files.
*
- * Last changed in libpng 1.5.7 [%RDATE%]
- * Copyright (c) 2011 Glenn Randers-Pehrson
+ * Last changed in libpng 1.5.8 [%RDATE%]
+ * Copyright (c) 2012 Glenn Randers-Pehrson
* Written by John Cunningham Bowler
*
* This code is released under the libpng license.
@@ -25,15 +25,18 @@
#include
-#ifdef HAVE_CONFIG_H
-# include "../../config.h"
-#endif
-
#ifdef HAVE_FEENABLEEXCEPT
# include
#endif
-#include "../../png.h"
+/* Define the following to use this test against your installed libpng, rather
+ * than the one being built here:
+ */
+#ifdef PNG_FREESTANDING_TESTS
+# include
+#else
+# include "../../png.h"
+#endif
#if PNG_LIBPNG_VER < 10500
/* This deliberately lacks the PNG_CONST. */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.5.7/libpng-manual.txt new/libpng-1.5.8/libpng-manual.txt
--- old/libpng-1.5.7/libpng-manual.txt 2011-12-15 16:45:32.000000000 +0100
+++ new/libpng-1.5.8/libpng-manual.txt 2012-02-01 06:00:34.000000000 +0100
@@ -1,6 +1,6 @@
libpng-manual.txt - A description on how to use and modify libpng
- libpng version 1.5.7 - December 15, 2011
+ libpng version 1.5.8 - February 1, 2012
Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net>
Copyright (c) 1998-2011 Glenn Randers-Pehrson
@@ -11,7 +11,7 @@
Based on:
- libpng versions 0.97, January 1998, through 1.5.7 - December 15, 2011
+ libpng versions 0.97, January 1998, through 1.5.8 - February 1, 2012
Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2011 Glenn Randers-Pehrson
@@ -4573,13 +4573,13 @@
XIV. Y2K Compliance in libpng
-December 15, 2011
+February 1, 2012
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.5.7 are Y2K compliant. It is my belief that earlier
+upward through 1.5.8 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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.5.7/libpng.3 new/libpng-1.5.8/libpng.3
--- old/libpng-1.5.7/libpng.3 2011-12-15 16:45:31.000000000 +0100
+++ new/libpng-1.5.8/libpng.3 2012-02-01 06:00:33.000000000 +0100
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "December 15, 2011"
+.TH LIBPNG 3 "February 1, 2012"
.SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.5.7
+libpng \- Portable Network Graphics (PNG) Reference Library 1.5.8
.SH SYNOPSIS
\fI\fB
@@ -977,7 +977,7 @@
.SH LIBPNG.TXT
libpng-manual.txt - A description on how to use and modify libpng
- libpng version 1.5.7 - December 15, 2011
+ libpng version 1.5.8 - February 1, 2012
Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net>
Copyright (c) 1998-2011 Glenn Randers-Pehrson
@@ -988,7 +988,7 @@
Based on:
- libpng versions 0.97, January 1998, through 1.5.7 - December 15, 2011
+ libpng versions 0.97, January 1998, through 1.5.8 - February 1, 2012
Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2011 Glenn Randers-Pehrson
@@ -5551,13 +5551,13 @@
.SH XIV. Y2K Compliance in libpng
-December 15, 2011
+February 1, 2012
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.5.7 are Y2K compliant. It is my belief that earlier
+upward through 1.5.8 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
@@ -5762,6 +5762,8 @@
1.5.7beta01-05 15 10507 15.so.15.7[.0]
1.5.7rc01-03 15 10507 15.so.15.7[.0]
1.5.7 15 10507 15.so.15.7[.0]
+ 1.5.8beta01 15 10508 15.so.15.8[.0]
+ 1.5.8rc01 15 10508 15.so.15.8[.0]
Henceforth the source version will match the shared-library minor
and patch numbers; the shared-library major version number will be
@@ -5818,7 +5820,7 @@
Thanks to Frank J. T. Wojcik for helping with the documentation.
-Libpng version 1.5.7 - December 15, 2011:
+Libpng version 1.5.8 - February 1, 2012:
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
@@ -5841,7 +5843,7 @@
This code is released under the libpng license.
-libpng versions 1.2.6, August 15, 2004, through 1.5.7, December 15, 2011, are
+libpng versions 1.2.6, August 15, 2004, through 1.5.8, February 1, 2012, are
Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors
@@ -5940,7 +5942,7 @@
Glenn Randers-Pehrson
glennrp at users.sourceforge.net
-December 15, 2011
+February 1, 2012
.\" end of man page
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.5.7/libpngpf.3 new/libpng-1.5.8/libpngpf.3
--- old/libpng-1.5.7/libpngpf.3 2011-12-15 16:45:31.000000000 +0100
+++ new/libpng-1.5.8/libpngpf.3 2012-02-01 06:00:34.000000000 +0100
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "December 15, 2011"
+.TH LIBPNGPF 3 "February 1, 2012"
.SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.5.7
+libpng \- Portable Network Graphics (PNG) Reference Library 1.5.8
(private functions)
.SH SYNOPSIS
\fB#include \fI"pngpriv.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.5.7/png.5 new/libpng-1.5.8/png.5
--- old/libpng-1.5.7/png.5 2011-12-15 16:45:32.000000000 +0100
+++ new/libpng-1.5.8/png.5 2012-02-01 06:00:34.000000000 +0100
@@ -1,4 +1,4 @@
-.TH PNG 5 "December 15, 2011"
+.TH PNG 5 "February 1, 2012"
.SH NAME
png \- Portable Network Graphics (PNG) format
.SH DESCRIPTION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.5.7/png.c new/libpng-1.5.8/png.c
--- old/libpng-1.5.7/png.c 2011-12-15 16:45:32.000000000 +0100
+++ new/libpng-1.5.8/png.c 2012-02-01 06:00:34.000000000 +0100
@@ -14,7 +14,7 @@
#include "pngpriv.h"
/* Generate a compiler error if there is an old png.h in the search path. */
-typedef png_libpng_version_1_5_7 Your_png_h_is_not_version_1_5_7;
+typedef png_libpng_version_1_5_8 Your_png_h_is_not_version_1_5_8;
/* 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
@@ -655,13 +655,13 @@
#else
# ifdef __STDC__
return PNG_STRING_NEWLINE \
- "libpng version 1.5.7 - December 15, 2011" PNG_STRING_NEWLINE \
+ "libpng version 1.5.8 - February 1, 2012" PNG_STRING_NEWLINE \
"Copyright (c) 1998-2011 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 "libpng version 1.5.7 - December 15, 2011\
+ return "libpng version 1.5.8 - February 1, 2012\
Copyright (c) 1998-2011 Glenn Randers-Pehrson\
Copyright (c) 1996-1997 Andreas Dilger\
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.5.7/png.h new/libpng-1.5.8/png.h
--- old/libpng-1.5.7/png.h 2011-12-15 16:45:32.000000000 +0100
+++ new/libpng-1.5.8/png.h 2012-02-01 06:00:34.000000000 +0100
@@ -1,8 +1,8 @@
/* png.h - header file for PNG reference library
*
- * libpng version 1.5.7 - December 15, 2011
- * Copyright (c) 1998-2011 Glenn Randers-Pehrson
+ * libpng version 1.5.8 - February 1, 2012
+ * Copyright (c) 1998-2012 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.)
*
@@ -11,7 +11,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.5.7 - December 15, 2011: Glenn
+ * libpng versions 0.97, January 1998, through 1.5.8 - February 1, 2012: Glenn
* See also "Contributing Authors", below.
*
* Note about libpng version numbers:
@@ -166,6 +166,8 @@
* 1.5.7beta01-05 15 10507 15.so.15.7[.0]
* 1.5.7rc01-03 15 10507 15.so.15.7[.0]
* 1.5.7 15 10507 15.so.15.7[.0]
+ * 1.5.8beta01 15 10508 15.so.15.8[.0]
+ * 1.5.8rc01 15 10508 15.so.15.8[.0]
*
* Henceforth the source version will match the shared-library major
* and minor numbers; the shared-library major version number will be
@@ -197,8 +199,8 @@
*
* This code is released under the libpng license.
*
- * libpng versions 1.2.6, August 15, 2004, through 1.5.7, December 15, 2011, are
- * Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
+ * libpng versions 1.2.6, August 15, 2004, through 1.5.8, February 1, 2012, are
+ * Copyright (c) 2004, 2006-2012 Glenn Randers-Pehrson, and are
* distributed according to the same disclaimer and license as libpng-1.2.5
* with the following individual added to the list of Contributing Authors:
*
@@ -309,13 +311,13 @@
* Y2K compliance in libpng:
* =========================
*
- * December 15, 2011
+ * February 1, 2012
*
* 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.5.7 are Y2K compliant. It is my belief that
+ * upward through 1.5.8 are Y2K compliant. It is my belief that
* earlier versions were also Y2K compliant.
*
* Libpng only has two year fields. One is a 2-byte unsigned integer
@@ -373,9 +375,9 @@
*/
/* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.5.7"
+#define PNG_LIBPNG_VER_STRING "1.5.8"
#define PNG_HEADER_VERSION_STRING \
- " libpng version 1.5.7 - December 15, 2011\n"
+ " libpng version 1.5.8 - February 1, 2012\n"
#define PNG_LIBPNG_VER_SONUM 15
#define PNG_LIBPNG_VER_DLLNUM 15
@@ -383,7 +385,7 @@
/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
#define PNG_LIBPNG_VER_MAJOR 1
#define PNG_LIBPNG_VER_MINOR 5
-#define PNG_LIBPNG_VER_RELEASE 7
+#define PNG_LIBPNG_VER_RELEASE 8
/* This should match the numeric part of the final component of
* PNG_LIBPNG_VER_STRING, omitting any leading zero:
@@ -414,7 +416,7 @@
* version 1.0.0 was mis-numbered 100 instead of 10000). From
* version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release
*/
-#define PNG_LIBPNG_VER 10507 /* 1.5.7 */
+#define PNG_LIBPNG_VER 10508 /* 1.5.8 */
/* Library configuration: these options cannot be changed after
* the library has been built.
@@ -536,7 +538,7 @@
/* This triggers a compiler error in png.c, if png.c and png.h
* do not agree upon the version number.
*/
-typedef char* png_libpng_version_1_5_7;
+typedef char* png_libpng_version_1_5_8;
/* Three color definitions. The order of the red, green, and blue, (and the
* exact size) is not important, although the size of the fields need to
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.5.7/pngconf.h new/libpng-1.5.8/pngconf.h
--- old/libpng-1.5.7/pngconf.h 2011-12-15 16:45:32.000000000 +0100
+++ new/libpng-1.5.8/pngconf.h 2012-02-01 06:00:34.000000000 +0100
@@ -1,9 +1,9 @@
/* pngconf.h - machine configurable file for libpng
*
- * libpng version 1.5.7 - December 15, 2011
+ * libpng version 1.5.8 - February 1, 2012
*
- * Copyright (c) 1998-2011 Glenn Randers-Pehrson
+ * Copyright (c) 1998-2012 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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.5.7/pngerror.c new/libpng-1.5.8/pngerror.c
--- old/libpng-1.5.7/pngerror.c 2011-12-15 16:45:32.000000000 +0100
+++ new/libpng-1.5.8/pngerror.c 2012-02-01 06:00:34.000000000 +0100
@@ -1,8 +1,8 @@
/* pngerror.c - stub functions for i/o and memory allocation
*
- * Last changed in libpng 1.5.7 [December 15, 2011]
- * Copyright (c) 1998-2011 Glenn Randers-Pehrson
+ * Last changed in libpng 1.5.7 [February 1, 2012]
+ * Copyright (c) 1998-2012 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.)
*
@@ -281,35 +281,40 @@
png_formatted_warning(png_structp png_ptr, png_warning_parameters p,
png_const_charp message)
{
- /* The internal buffer is just 128 bytes - enough for all our messages,
- * overflow doesn't happen because this code checks!
+ /* The internal buffer is just 192 bytes - enough for all our messages,
+ * overflow doesn't happen because this code checks! If someone figures
+ * out how to send us a message longer than 192 bytes, all that will
+ * happen is that the message will be truncated appropriately.
*/
- size_t i;
- char msg[128];
+ size_t i = 0; /* Index in the msg[] buffer: */
+ char msg[192];
- for (i=0; i<(sizeof msg)-1 && *message != '\0'; ++i)
+ /* Each iteration through the following loop writes at most one character
+ * to msg[i++] then returns here to validate that there is still space for
+ * the trailing '\0'. It may (in the case of a parameter) read more than
+ * one character from message[]; it must check for '\0' and continue to the
+ * test if it finds the end of string.
+ */
+ while (i<(sizeof msg)-1 && *message != '\0')
{
- if (*message == '@')
+ /* '@' at end of string is now just printed (previously it was skipped);
+ * it is an error in the calling code to terminate the string with @.
+ */
+ if (p != NULL && *message == '@' && message[1] != '\0')
{
- int parameter = -1;
- switch (*++message)
- {
- case '1':
- parameter = 0;
- break;
-
- case '2':
- parameter = 1;
- break;
-
- case '\0':
- continue; /* To break out of the for loop above. */
+ int parameter_char = *++message; /* Consume the '@' */
+ static const char valid_parameters[] = "123456789";
+ int parameter = 0;
- default:
- break;
- }
+ /* Search for the parameter digit, the index in the string is the
+ * parameter to use.
+ */
+ while (valid_parameters[parameter] != parameter_char &&
+ valid_parameters[parameter] != '\0')
+ ++parameter;
- if (parameter >= 0 && parameter < PNG_WARNING_PARAMETER_COUNT)
+ /* If the parameter digit is out of range it will just get printed. */
+ if (parameter < PNG_WARNING_PARAMETER_COUNT)
{
/* Append this parameter */
png_const_charp parm = p[parameter];
@@ -319,28 +324,32 @@
* that parm[] has been initialized, so there is no guarantee of a
* trailing '\0':
*/
- for (; i<(sizeof msg)-1 && parm != '\0' && parm < pend; ++i)
- msg[i] = *parm++;
+ while (i<(sizeof msg)-1 && *parm != '\0' && parm < pend)
+ msg[i++] = *parm++;
+ /* Consume the parameter digit too: */
++message;
continue;
}
/* else not a parameter and there is a character after the @ sign; just
- * copy that.
+ * copy that. This is known not to be '\0' because of the test above.
*/
}
/* At this point *message can't be '\0', even in the bad parameter case
* above where there is a lone '@' at the end of the message string.
*/
- msg[i] = *message++;
+ msg[i++] = *message++;
}
/* i is always less than (sizeof msg), so: */
msg[i] = '\0';
- /* And this is the formatted message: */
+ /* And this is the formatted message, it may be larger than
+ * PNG_MAX_ERROR_TEXT, but that is only used for 'chunk' errors and these are
+ * not (currently) formatted.
+ */
png_warning(png_ptr, msg);
}
#endif /* PNG_WARNINGS_SUPPORTED */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.5.7/pngtest.c new/libpng-1.5.8/pngtest.c
--- old/libpng-1.5.7/pngtest.c 2011-12-15 16:45:32.000000000 +0100
+++ new/libpng-1.5.8/pngtest.c 2012-02-01 06:00:34.000000000 +0100
@@ -1817,4 +1817,4 @@
}
/* Generate a compiler error if there is an old png.h in the search path. */
-typedef png_libpng_version_1_5_7 Your_png_h_is_not_version_1_5_7;
+typedef png_libpng_version_1_5_8 Your_png_h_is_not_version_1_5_8;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.5.7/projects/vstudio/readme.txt new/libpng-1.5.8/projects/vstudio/readme.txt
--- old/libpng-1.5.7/projects/vstudio/readme.txt 2011-12-15 16:45:34.000000000 +0100
+++ new/libpng-1.5.8/projects/vstudio/readme.txt 2012-02-01 06:00:36.000000000 +0100
@@ -1,7 +1,7 @@
VisualStudio instructions
-libpng version 1.5.7 - December 15, 2011
+libpng version 1.5.8 - February 1, 2012
Copyright (c) 1998-2010 Glenn Randers-Pehrson
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.5.7/projects/vstudio/zlib.props new/libpng-1.5.8/projects/vstudio/zlib.props
--- old/libpng-1.5.7/projects/vstudio/zlib.props 2011-12-15 16:45:34.000000000 +0100
+++ new/libpng-1.5.8/projects/vstudio/zlib.props 2012-02-01 06:00:36.000000000 +0100
@@ -2,7 +2,7 @@
Reply