Skip to content

Commit

Permalink
[libpng16] Imported from libpng-1.6.16rc01.tar
Browse files Browse the repository at this point in the history
  • Loading branch information
Glenn Randers-Pehrson committed Dec 21, 2014
1 parent f43b5e3 commit 6d8c881
Show file tree
Hide file tree
Showing 25 changed files with 100 additions and 56 deletions.
20 changes: 12 additions & 8 deletions ANNOUNCE
@@ -1,4 +1,4 @@
Libpng 1.6.16beta03 - December 21, 2014
Libpng 1.6.16rc01 - December 21, 2014

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.
Expand All @@ -8,20 +8,20 @@ Files available for download:
Source files with LF line endings (for Unix/Linux) and with a
"configure" script

1.6.16beta03.tar.xz (LZMA-compressed, recommended)
1.6.16beta03.tar.gz
1.6.16rc01.tar.xz (LZMA-compressed, recommended)
1.6.16rc01.tar.gz

Source files with CRLF line endings (for Windows), without the
"configure" script

lp1616b03.7z (LZMA-compressed, recommended)
lp1616b03.zip
lp1616r01.7z (LZMA-compressed, recommended)
lp1616r01.zip

Other information:

1.6.16beta03-README.txt
1.6.16beta03-LICENSE.txt
libpng-1.6.16beta03-*.asc (armored detached GPG signatures)
1.6.16rc01-README.txt
1.6.16rc01-LICENSE.txt
libpng-1.6.16rc01-*.asc (armored detached GPG signatures)

Changes since the last public release (1.6.15):

Expand All @@ -38,6 +38,10 @@ Version 1.6.16beta02 [December 15, 2014]
Version 1.6.16beta03 [December 21, 2014]
Quiet a "comparison always true" warning in pngstest.c (John Bowler).

Version 1.6.16rc01 [December 21, 2014]
Restored a test on width that was removed from png.c at libpng-1.6.9
(Bug report by Alex Eubanks).

Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
Expand Down
4 changes: 4 additions & 0 deletions CHANGES
Expand Up @@ -5112,6 +5112,10 @@ Version 1.6.16beta02 [December 15, 2014]
Version 1.6.16beta03 [December 21, 2014]
Quiet a "comparison always true" warning in pngstest.c (John Bowler).

Version 1.6.16rc01 [December 21, 2014]
Restored a test on width that was removed from png.c at libpng-1.6.9
(Bug report by Alex Eubanks).

Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Expand Up @@ -253,7 +253,7 @@ endif(NOT WIN32 OR CYGWIN OR MINGW)
# SET UP LINKS
if(PNG_SHARED)
set_target_properties(${PNG_LIB_NAME} PROPERTIES
# VERSION 16.${PNGLIB_RELEASE}.1.6.16beta03
# VERSION 16.${PNGLIB_RELEASE}.1.6.16rc01
VERSION 16.${PNGLIB_RELEASE}.0
SOVERSION 16
CLEAN_DIRECT_OUTPUT 1)
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Expand Up @@ -10,7 +10,7 @@ this sentence.

This code is released under the libpng license.

libpng versions 1.2.6, August 15, 2004, through 1.6.16beta03, December 21, 2014, are
libpng versions 1.2.6, August 15, 2004, through 1.6.16rc01, December 21, 2014, are
Copyright (c) 2004, 2006-2014 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
Expand Down
2 changes: 1 addition & 1 deletion README
@@ -1,4 +1,4 @@
README for libpng version 1.6.16beta03 - December 21, 2014 (shared library 16.0)
README for libpng version 1.6.16rc01 - December 21, 2014 (shared library 16.0)
See the note about version numbers near the top of png.h

See INSTALL for instructions on how to install libpng.
Expand Down
4 changes: 2 additions & 2 deletions configure.ac
Expand Up @@ -18,7 +18,7 @@ AC_PREREQ([2.68])

dnl Version number stuff here:

AC_INIT([libpng],[1.6.16beta03],[png-mng-implement@lists.sourceforge.net])
AC_INIT([libpng],[1.6.16rc01],[png-mng-implement@lists.sourceforge.net])
AC_CONFIG_MACRO_DIR([scripts])

# libpng does not follow GNU file name conventions (hence 'foreign')
Expand All @@ -39,7 +39,7 @@ dnl automake, so the following is not necessary (and is not defined anyway):
dnl AM_PREREQ([1.11.2])
dnl stop configure from automagically running automake

PNGLIB_VERSION=1.6.16beta03
PNGLIB_VERSION=1.6.16rc01
PNGLIB_MAJOR=1
PNGLIB_MINOR=6
PNGLIB_RELEASE=16
Expand Down
6 changes: 3 additions & 3 deletions libpng-manual.txt
@@ -1,6 +1,6 @@
libpng-manual.txt - A description on how to use and modify libpng

libpng version 1.6.16beta03 - December 21, 2014
libpng version 1.6.16rc01 - December 21, 2014
Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net>
Copyright (c) 1998-2014 Glenn Randers-Pehrson
Expand All @@ -11,7 +11,7 @@ libpng-manual.txt - A description on how to use and modify libpng

Based on:

libpng versions 0.97, January 1998, through 1.6.16beta03 - December 21, 2014
libpng versions 0.97, January 1998, through 1.6.16rc01 - December 21, 2014
Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2014 Glenn Randers-Pehrson

Expand Down Expand Up @@ -5280,7 +5280,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.6.16beta03 are Y2K compliant. It is my belief that earlier
upward through 1.6.16rc01 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
Expand Down
13 changes: 7 additions & 6 deletions libpng.3
@@ -1,6 +1,6 @@
.TH LIBPNG 3 "December 21, 2014"
.SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.16beta03
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.16rc01
.SH SYNOPSIS
\fB
#include <png.h>\fP
Expand Down Expand Up @@ -504,7 +504,7 @@ Following is a copy of the libpng-manual.txt file that accompanies libpng.
.SH LIBPNG.TXT
libpng-manual.txt - A description on how to use and modify libpng

libpng version 1.6.16beta03 - December 21, 2014
libpng version 1.6.16rc01 - December 21, 2014
Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net>
Copyright (c) 1998-2014 Glenn Randers-Pehrson
Expand All @@ -515,7 +515,7 @@ libpng-manual.txt - A description on how to use and modify libpng

Based on:

libpng versions 0.97, January 1998, through 1.6.16beta03 - December 21, 2014
libpng versions 0.97, January 1998, through 1.6.16rc01 - December 21, 2014
Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2014 Glenn Randers-Pehrson

Expand Down Expand Up @@ -5784,7 +5784,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.6.16beta03 are Y2K compliant. It is my belief that earlier
upward through 1.6.16rc01 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
Expand Down Expand Up @@ -6034,6 +6034,7 @@ the first widely used release:
1.6.15rc01-03 16 10615 16.so.16.15[.0]
1.6.15 16 10615 16.so.16.15[.0]
1.6.16beta01-03 16 10616 16.so.16.16[.0]
1.6.16rc01 16 10616 16.so.16.16[.0]

Henceforth the source version will match the shared-library minor
and patch numbers; the shared-library major version number will be
Expand Down Expand Up @@ -6090,7 +6091,7 @@ possible without all of you.

Thanks to Frank J. T. Wojcik for helping with the documentation.

Libpng version 1.6.16beta03 - December 21, 2014:
Libpng version 1.6.16rc01 - December 21, 2014:
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).

Expand All @@ -6113,7 +6114,7 @@ this sentence.

This code is released under the libpng license.

libpng versions 1.2.6, August 15, 2004, through 1.6.16beta03, December 21, 2014, are
libpng versions 1.2.6, August 15, 2004, through 1.6.16rc01, December 21, 2014, are
Copyright (c) 2004,2006-2014 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
Expand Down
2 changes: 1 addition & 1 deletion libpngpf.3
@@ -1,6 +1,6 @@
.TH LIBPNGPF 3 "December 21, 2014"
.SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.16beta03
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.16rc01
(private functions)
.SH SYNOPSIS
\fB#include \fI"pngpriv.h"
Expand Down
39 changes: 36 additions & 3 deletions png.c
Expand Up @@ -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_6_16beta03 Your_png_h_is_not_version_1_6_16beta03;
typedef png_libpng_version_1_6_16rc01 Your_png_h_is_not_version_1_6_16rc01;

/* 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
Expand Down Expand Up @@ -769,13 +769,13 @@ png_get_copyright(png_const_structrp png_ptr)
#else
# ifdef __STDC__
return PNG_STRING_NEWLINE \
"libpng version 1.6.16beta03 - December 21, 2014" PNG_STRING_NEWLINE \
"libpng version 1.6.16rc01 - December 21, 2014" PNG_STRING_NEWLINE \
"Copyright (c) 1998-2014 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.6.16beta03 - December 21, 2014\
return "libpng version 1.6.16rc01 - December 21, 2014\
Copyright (c) 1998-2014 Glenn Randers-Pehrson\
Copyright (c) 1996-1997 Andreas Dilger\
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.";
Expand Down Expand Up @@ -2461,6 +2461,17 @@ png_colorspace_set_rgb_coefficients(png_structrp png_ptr)

#endif /* COLORSPACE */

#ifdef __GNUC__
/* This exists solely to work round a warning from GNU C. */
static int /* PRIVATE */
png_gt(size_t a, size_t b)
{
return a > b;
}
#else
# define png_gt(a,b) ((a) > (b))
#endif

void /* PRIVATE */
png_check_IHDR(png_const_structrp png_ptr,
png_uint_32 width, png_uint_32 height, int bit_depth,
Expand All @@ -2480,6 +2491,28 @@ png_check_IHDR(png_const_structrp png_ptr,
png_warning(png_ptr, "Invalid image width in IHDR");
error = 1;
}

else if (png_gt(width,
(PNG_SIZE_MAX >> 3) /* 8-byte RGBA pixels */
- 48 /* big_row_buf hack */
- 1 /* filter byte */
- 7*8 /* rounding width to multiple of 8 pix */
- 8)) /* extra max_pixel_depth pad */
{
/* The size of the row must be within the limits of this architecture.
* Because the read code can perform arbitrary transformations the
* maximum size is checked here. Because the code in png_read_start_row
* adds extra space "for safety's sake" in several places a conservative
* limit is used here.
*
* NOTE: it would be far better to check the size that is actually used,
* but the effect in the real world is minor and the changes are more
* extensive, therefore much more dangerous and much more difficult to
* write in a way that avoids compiler warnings.
*/
png_warning(png_ptr, "Image width is too large for this architecture");
error = 1;
}
else
{
# ifdef PNG_SET_USER_LIMITS_SUPPORTED
Expand Down
19 changes: 10 additions & 9 deletions png.h
@@ -1,7 +1,7 @@

/* png.h - header file for PNG reference library
*
* libpng version 1.6.16beta03, December 21, 2014
* libpng version 1.6.16rc01, December 21, 2014
* Copyright (c) 1998-2014 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.)
Expand All @@ -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.6.16beta03, December 21, 2014: Glenn
* libpng versions 0.97, January 1998, through 1.6.16rc01, December 21, 2014: Glenn
* See also "Contributing Authors", below.
*
* Note about libpng version numbers:
Expand Down Expand Up @@ -210,6 +210,7 @@
* 1.6.15rc01-03 16 10615 16.so.16.15[.0]
* 1.6.15 16 10615 16.so.16.15[.0]
* 1.6.16beta01-03 16 10616 16.so.16.16[.0]
* 1.6.16rc01 16 10616 16.so.16.16[.0]
*
* Henceforth the source version will match the shared-library major
* and minor numbers; the shared-library major version number will be
Expand Down Expand Up @@ -241,7 +242,7 @@
*
* This code is released under the libpng license.
*
* libpng versions 1.2.6, August 15, 2004, through 1.6.16beta03, December 21, 2014, are
* libpng versions 1.2.6, August 15, 2004, through 1.6.16rc01, December 21, 2014, are
* Copyright (c) 2004, 2006-2014 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:
Expand Down Expand Up @@ -359,7 +360,7 @@
* an official declaration.
*
* This is your unofficial assurance that libpng from version 0.71 and
* upward through 1.6.16beta03 are Y2K compliant. It is my belief that
* upward through 1.6.16rc01 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
Expand Down Expand Up @@ -421,9 +422,9 @@
*/

/* Version information for png.h - this should match the version in png.c */
#define PNG_LIBPNG_VER_STRING "1.6.16beta03"
#define PNG_LIBPNG_VER_STRING "1.6.16rc01"
#define PNG_HEADER_VERSION_STRING \
" libpng version 1.6.16beta03 - December 21, 2014\n"
" libpng version 1.6.16rc01 - December 21, 2014\n"

#define PNG_LIBPNG_VER_SONUM 16
#define PNG_LIBPNG_VER_DLLNUM 16
Expand All @@ -437,7 +438,7 @@
* PNG_LIBPNG_VER_STRING, omitting any leading zero:
*/

#define PNG_LIBPNG_VER_BUILD 03
#define PNG_LIBPNG_VER_BUILD 01

/* Release Status */
#define PNG_LIBPNG_BUILD_ALPHA 1
Expand All @@ -454,7 +455,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.
Expand Down Expand Up @@ -567,7 +568,7 @@ extern "C" {
/* 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_6_16beta03;
typedef char* png_libpng_version_1_6_16rc01;

/* Basic control structions. Read libpng-manual.txt or libpng.3 for more info.
*
Expand Down
2 changes: 1 addition & 1 deletion pngconf.h
@@ -1,7 +1,7 @@

/* pngconf.h - machine configurable file for libpng
*
* libpng version 1.6.16beta03,December 21, 2014
* libpng version 1.6.16rc01,December 21, 2014
*
* Copyright (c) 1998-2014 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
Expand Down
7 changes: 4 additions & 3 deletions pngrutil.c
@@ -1,7 +1,7 @@

/* pngrutil.c - utilities to read a PNG file
*
* Last changed in libpng 1.6.16 [(PENDING RELEASE)]
* Last changed in libpng 1.6.15 [November 20, 2014]
* Copyright (c) 1998-2014 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.)
Expand Down Expand Up @@ -854,12 +854,13 @@ png_handle_IHDR(png_structrp png_ptr, png_inforp info_ptr, png_uint_32 length)

/* Set up other useful info */
png_ptr->pixel_depth = (png_byte)(png_ptr->bit_depth * png_ptr->channels);
png_ptr->rowbytes = PNG_ROWBYTES(png_ptr->pixel_depth, png_ptr->width);

png_debug1(3, "bit_depth = %d", png_ptr->bit_depth);
png_debug1(3, "channels = %d", png_ptr->channels);
png_debug1(3, "rowbytes = %lu", (unsigned long)png_ptr->rowbytes);
png_set_IHDR(png_ptr, info_ptr, width, height, bit_depth,
color_type, interlace_type, compression_type, filter_type);
png_ptr->rowbytes = PNG_ROWBYTES(png_ptr->pixel_depth, png_ptr->width);
png_debug1(3, "rowbytes = %lu", (unsigned long)png_ptr->rowbytes);
}

/* Read and check the palette */
Expand Down
2 changes: 1 addition & 1 deletion pngtest.c
Expand Up @@ -2008,4 +2008,4 @@ main(void)
#endif

/* Generate a compiler error if there is an old png.h in the search path. */
typedef png_libpng_version_1_6_16beta03 Your_png_h_is_not_version_1_6_16beta03;
typedef png_libpng_version_1_6_16rc01 Your_png_h_is_not_version_1_6_16rc01;
2 changes: 1 addition & 1 deletion projects/vstudio/readme.txt
@@ -1,7 +1,7 @@

VisualStudio instructions

libpng version 1.6.16beta03 - December 21, 2014
libpng version 1.6.16rc01 - December 21, 2014

Copyright (c) 1998-2010 Glenn Randers-Pehrson

Expand Down

0 comments on commit 6d8c881

Please sign in to comment.