Compare commits

...

13 Commits

Author SHA1 Message Date
Glenn Randers-Pehrson
c4e0f3de64 [libpng16] Imported from libpng-1.6.11.tar 2014-06-05 10:00:45 -05:00
Glenn Randers-Pehrson
ee6050ecb4 [libpng16] Imported from libpng-1.6.11rc02.tar 2014-06-03 22:02:34 -05:00
Glenn Randers-Pehrson
165f072144 [libpng16] Imported from libpng-1.6.11rc01.tar 2014-05-27 11:15:53 -05:00
Glenn Randers-Pehrson
7acfe50855 [libpng16] Bump version to 1.6.11beta07 2014-05-19 21:20:05 -05:00
Glenn Randers-Pehrson
5808e7b8c8 [libpng16] Imported from libpng-1.6.11beta06.tar 2014-05-19 21:11:36 -05:00
Glenn Randers-Pehrson
f85092bc7b [libpng16] Fix cut-and-paste error in scripts/symbols.dfn, from 1.6.11beta02. 2014-05-19 21:08:49 -05:00
Glenn Randers-Pehrson
d1c5f48c05 [libpng16] Minor update to documentation and CHANGES/ANNOUNCE files. 2014-05-09 21:06:27 -05:00
Glenn Randers-Pehrson
e95ce2c517 [libpng16] Added PNG_SKIP_sRGB_CHECK_PROFILE choice for png_set_option(). 2014-05-07 12:07:12 -05:00
Glenn Randers-Pehrson
0d5ac5d809 [libpng16] Bump version to 1.6.11beta06 2014-04-26 06:41:54 -05:00
Glenn Randers-Pehrson
f30aa7ed92 [libpng16] Imported from libpng-1.6.11beta05.tar 2014-04-26 06:36:40 -05:00
Glenn Randers-Pehrson
ab9736a647 [libpng16] Allow writing ICC V2 profiles that lack padding (Kai-Uwe Behrmann). 2014-04-25 06:14:50 -05:00
Glenn Randers-Pehrson
5a1d1b5369 [libpng16] Do not reject ICC V2 profiles that lack padding (Kai-Uwe Behrmann). 2014-04-24 15:54:28 -05:00
Glenn Randers-Pehrson
d5201df56b [libpng16] Bump version to 1.6.11beta05 2014-04-20 20:23:13 -05:00
42 changed files with 211 additions and 153 deletions

View File

@@ -1,59 +1,58 @@
Libpng 1.6.11beta04 - April 21, 2014
Libpng 1.6.11 - June 5, 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.
This is a public release of libpng, intended for use in production codes.
Files available for download:
Source files with LF line endings (for Unix/Linux) and with a
"configure" script
1.6.11beta04.tar.xz (LZMA-compressed, recommended)
1.6.11beta04.tar.gz
libpng-1.6.11.tar.xz (LZMA-compressed, recommended)
libpng-1.6.11.tar.gz
Source files with CRLF line endings (for Windows), without the
"configure" script
lp1611b04.7z (LZMA-compressed, recommended)
lp1611b04.zip
lpng1611.7z (LZMA-compressed, recommended)
lpng1611.zip
Other information:
1.6.11beta04-README.txt
1.6.11beta04-LICENSE.txt
libpng-1.6.11beta04-*.asc (armored detached GPG signatures)
libpng-1.6.11-README.txt
libpng-1.6.11-LICENSE.txt
libpng-1.6.11-*.asc (armored detached GPG signatures)
Changes since the last public release (1.6.10):
Version 1.6.11beta01 [March 17, 2014]
Use "if (value != 0)" instead of "if (value)" consistently.
Changed ZlibSrcDir from 1.2.5 to 1.2.8 in projects/vstudio.
Moved configuration information from the manual to the INSTALL file.
Version 1.6.11beta02 [April 6, 2014]
Removed #if/#else/#endif from inside two pow() calls in pngvalid.c because
they were handled improperly by Portland Group's PGI-14.1 - PGI-14.3
when using its "__builtin_pow()" function.
Silence 'unused parameter' build warnings (Cosmin).
$(CP) is now used alongside $(RM_F). Also, use 'copy' instead
of 'cp' where applicable, and applied other minor makefile changes.
Don't warn about invalid dimensions exceeding user limits.
Silence 'unused parameter' build warnings (Cosmin Truta).
$(CP) is now used alongside $(RM_F). Also, use 'copy' instead of 'cp'
where applicable, and applied other minor makefile changes (Cosmin).
Don't warn about invalid dimensions exceeding user limits (Cosmin).
Allow an easy replacement of the default pre-built configuration
header with a custom header, via the make PNGLIBCONF_H_PREBUILT
macro.
Version 1.6.11beta03 [April 6, 2014]
macro (Cosmin).
Fixed a typo in pngrutil.c, introduced in libpng-1.5.6, that interferes
with "blocky" expansion of sub-8-bit interlaced PNG files (Eric Huss).
Version 1.6.11beta04 [April 19, 2014]
Made progressive reading of interlaced images consistent with the
behavior of the sequential reader and consistent with the manual,
by moving some code out of the PNG_READ_INTERLACING_SUPPORTED blocks.
The row_callback now receives the proper pass number and unexpanded rows,
when png_combine_row is not used or not built,
behavior of the sequential reader and consistent with the manual, by
moving some code out of the PNG_READ_INTERLACING_SUPPORTED blocks. The
row_callback now receives the proper pass number and unexpanded rows, when
png_combine_row() isn't built or used, and png_set_interlace_handling()
is not called.
Allow PNG_sRGB_PROFILE_CHECKING = (-1) to mean no sRGB profile checking.
Do not reject ICC V2 profiles that lack padding (Kai-Uwe Behrmann).
Relocated closing bracket of the sRGB profile test loop to avoid getting
"Not recognizing known sRGB profile that has been edited" warning for
ICC V2 profiles that lack the MD5 signature in the profile header.
Added PNG_SKIP_sRGB_CHECK_PROFILE choice for png_set_option().
Test ZLIB_VERNUM instead of PNG_ZLIB_VERNUM in contrib/tools/pngfix.c
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit

37
CHANGES
View File

@@ -4885,13 +4885,13 @@ Version 1.6.11beta02 [April 6, 2014]
Removed #if/#else/#endif from inside two pow() calls in pngvalid.c because
they were handled improperly by Portland Group's PGI-14.1 - PGI-14.3
when using its "__builtin_pow()" function.
Silence 'unused parameter' build warnings (Cosmin).
$(CP) is now used alongside $(RM_F). Also, use 'copy' instead
of 'cp' where applicable, and applied other minor makefile changes.
Don't warn about invalid dimensions exceeding user limits.
Silence 'unused parameter' build warnings (Cosmin Truta).
$(CP) is now used alongside $(RM_F). Also, use 'copy' instead of 'cp'
where applicable, and applied other minor makefile changes (Cosmin).
Don't warn about invalid dimensions exceeding user limits (Cosmin).
Allow an easy replacement of the default pre-built configuration
header with a custom header, via the make PNGLIBCONF_H_PREBUILT
macro.
macro (Cosmin).
Version 1.6.11beta03 [April 6, 2014]
Fixed a typo in pngrutil.c, introduced in libpng-1.5.6, that interferes
@@ -4900,12 +4900,31 @@ Version 1.6.11beta03 [April 6, 2014]
Version 1.6.11beta04 [April 19, 2014]
Made progressive reading of interlaced images consistent with the
behavior of the sequential reader and consistent with the manual,
by moving some code out of the PNG_READ_INTERLACING_SUPPORTED blocks.
The row_callback now receives the proper pass number and unexpanded rows,
when png_combine_row is not used or not built,
behavior of the sequential reader and consistent with the manual, by
moving some code out of the PNG_READ_INTERLACING_SUPPORTED blocks. The
row_callback now receives the proper pass number and unexpanded rows, when
png_combine_row() isn't built or used, and png_set_interlace_handling()
is not called.
Allow PNG_sRGB_PROFILE_CHECKING = (-1) to mean no sRGB profile checking.
Version 1.6.11beta05 [April 26, 2014]
Do not reject ICC V2 profiles that lack padding (Kai-Uwe Behrmann).
Relocated closing bracket of the sRGB profile test loop to avoid getting
"Not recognizing known sRGB profile that has been edited" warning for
ICC V2 profiles that lack the MD5 signature in the profile header.
Version 1.6.11beta06 [May 19, 2014]
Added PNG_SKIP_sRGB_CHECK_PROFILE choice for png_set_option().
Version 1.6.11rc01 [May 27, 2014]
No changes.
Version 1.6.11rc02 [June 3, 2014]
Test ZLIB_VERNUM instead of PNG_ZLIB_VERNUM in contrib/tools/pngfix.c
Version 1.6.11 [June 5, 2014]
No changes.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement

View File

@@ -252,7 +252,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.11beta04
# VERSION 16.${PNGLIB_RELEASE}.1.6.11
VERSION 16.${PNGLIB_RELEASE}.0
SOVERSION 16
CLEAN_DIRECT_OUTPUT 1)

View File

@@ -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.11beta04, April 21, 2014, are
libpng versions 1.2.6, August 15, 2004, through 1.6.11, June 5, 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
@@ -108,4 +108,4 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
glennrp at users.sourceforge.net
April 21, 2014
June 5, 2014

2
README
View File

@@ -1,4 +1,4 @@
README for libpng version 1.6.11beta04 - April 21, 2014 (shared library 16.0)
README for libpng version 1.6.11 - June 5, 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.

View File

@@ -3,7 +3,7 @@
*
* Copyright (c) 2014 Glenn Randers-Pehrson
* Written by Mans Rullgard, 2011.
* Last changed in libpng 1.6.10 [(PENDING RELEASE)]
* Last changed in libpng 1.6.10 [June 5, 2014]
*
* This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer

View File

@@ -18,7 +18,7 @@ AC_PREREQ([2.68])
dnl Version number stuff here:
AC_INIT([libpng],[1.6.11beta04],[png-mng-implement@lists.sourceforge.net])
AC_INIT([libpng],[1.6.11],[png-mng-implement@lists.sourceforge.net])
AC_CONFIG_MACRO_DIR([scripts])
# libpng does not follow GNU file name conventions (hence 'foreign')
@@ -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.11beta04
PNGLIB_VERSION=1.6.11
PNGLIB_MAJOR=1
PNGLIB_MINOR=6
PNGLIB_RELEASE=11

View File

@@ -79,7 +79,7 @@
# error "pngfix not supported in this libpng version"
#endif
#if PNG_ZLIB_VERNUM >= 0x1240
#if ZLIB_VERNUM >= 0x1240
/* Copied from pngpriv.h */
#ifdef __cplusplus
@@ -4014,16 +4014,16 @@ main(int argc, const char **argv)
return global_end(&global);
}
#else /* PNG_ZLIB_VERNUM < 0x1240 */
#else /* ZLIB_VERNUM < 0x1240 */
int
main(void)
{
fprintf(stderr,
"pngfix needs libpng with a zlib >=1.2.4 (not 0x%x)\n",
PNG_ZLIB_VERNUM);
ZLIB_VERNUM);
return 77;
}
#endif /* PNG_ZLIB_VERNUM */
#endif /* ZLIB_VERNUM */
#else /* No read support */

View File

@@ -2,7 +2,7 @@
#if 0 /* in case someone actually tries to compile this */
/* example.c - an example of using libpng
* Last changed in libpng 1.6.11 [(PENDING RELEASE)]
* Last changed in libpng 1.6.11 [June 5, 2014]
* Maintained 1998-2014 Glenn Randers-Pehrson
* Maintained 1996, 1997 Andreas Dilger)
* Written 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)

View File

@@ -1,6 +1,6 @@
libpng-manual.txt - A description on how to use and modify libpng
libpng version 1.6.11beta04 - April 21, 2014
libpng version 1.6.11 - June 5, 2014
Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net>
Copyright (c) 1998-2014 Glenn Randers-Pehrson
@@ -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.11beta04 - April 21, 2014
libpng versions 0.97, January 1998, through 1.6.11 - June 5, 2014
Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2014 Glenn Randers-Pehrson
@@ -5038,11 +5038,25 @@ Error detection in some chunks has improved; in particular the iCCP chunk
reader now does pretty complete validation of the basic format. Some bad
profiles that were previously accepted are now accepted with a warning or
rejected, depending upon the png_set_benign_errors() setting, in particular the
very old broken Microsoft/HP 3144-byte sRGB profile. The PNG spec requirement
that only grayscale profiles may appear in images with color type 0 or 4 and
that even if the image only contains gray pixels, only RGB profiles may appear
in images with color type 2, 3, or 6, is now enforced. The sRGB chunk
is allowed to appear in images with any color type.
very old broken Microsoft/HP 3144-byte sRGB profile. Starting with
libpng-1.6.11, recognizing and checking sRGB profiles can be avoided by
means of
#ifdef PNG_SKIP_sRGB_CHECK_PROFILE
png_set_option(ping, PNG_SKIP_sRGB_CHECK_PROFILE,
PNG_OPTION_ON);
#endif
It's not a good idea to do this if you are using the "simplified API",
which needs to be able to recognize an sRGB profile conveyed via the iCCP
chunk.
The PNG spec requirement that only grayscale profiles may appear in images
with color type 0 or 4 and that even if the image only contains gray pixels,
only RGB profiles may appear in images with color type 2, 3, or 6, is now
enforced. The sRGB chunk is allowed to appear in images with any color type
and is interpreted by libpng to convey a one-tracer-curve profile or a
three-tracer-curve profile as appropriate.
Prior to libpng-1.6.0 a warning would be issued if the iTXt chunk contained
an empty language field or an empty translated keyword. Both of these
@@ -5261,13 +5275,13 @@ Other rules can be inferred by inspecting the libpng source.
XVI. Y2K Compliance in libpng
April 21, 2014
June 5, 2014
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.11beta04 are Y2K compliant. It is my belief that earlier
upward through 1.6.11 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

View File

@@ -1,6 +1,6 @@
.TH LIBPNG 3 "April 21, 2014"
.TH LIBPNG 3 "June 5, 2014"
.SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.11beta04
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.11
.SH SYNOPSIS
\fB
#include <png.h>\fP
@@ -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.11beta04 - April 21, 2014
libpng version 1.6.11 - June 5, 2014
Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net>
Copyright (c) 1998-2014 Glenn Randers-Pehrson
@@ -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.11beta04 - April 21, 2014
libpng versions 0.97, January 1998, through 1.6.11 - June 5, 2014
Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2014 Glenn Randers-Pehrson
@@ -5542,11 +5542,25 @@ Error detection in some chunks has improved; in particular the iCCP chunk
reader now does pretty complete validation of the basic format. Some bad
profiles that were previously accepted are now accepted with a warning or
rejected, depending upon the png_set_benign_errors() setting, in particular the
very old broken Microsoft/HP 3144-byte sRGB profile. The PNG spec requirement
that only grayscale profiles may appear in images with color type 0 or 4 and
that even if the image only contains gray pixels, only RGB profiles may appear
in images with color type 2, 3, or 6, is now enforced. The sRGB chunk
is allowed to appear in images with any color type.
very old broken Microsoft/HP 3144-byte sRGB profile. Starting with
libpng-1.6.11, recognizing and checking sRGB profiles can be avoided by
means of
#ifdef PNG_SKIP_sRGB_CHECK_PROFILE
png_set_option(ping, PNG_SKIP_sRGB_CHECK_PROFILE,
PNG_OPTION_ON);
#endif
It's not a good idea to do this if you are using the "simplified API",
which needs to be able to recognize an sRGB profile conveyed via the iCCP
chunk.
The PNG spec requirement that only grayscale profiles may appear in images
with color type 0 or 4 and that even if the image only contains gray pixels,
only RGB profiles may appear in images with color type 2, 3, or 6, is now
enforced. The sRGB chunk is allowed to appear in images with any color type
and is interpreted by libpng to convey a one-tracer-curve profile or a
three-tracer-curve profile as appropriate.
Prior to libpng-1.6.0 a warning would be issued if the iTXt chunk contained
an empty language field or an empty translated keyword. Both of these
@@ -5765,13 +5779,13 @@ Other rules can be inferred by inspecting the libpng source.
.SH XVI. Y2K Compliance in libpng
April 21, 2014
June 5, 2014
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.11beta04 are Y2K compliant. It is my belief that earlier
upward through 1.6.11 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
@@ -6005,7 +6019,9 @@ the first widely used release:
1.6.10beta01-03 16 10610 16.so.16.10[.0]
1.6.10rc01-03 16 10610 16.so.16.10[.0]
1.6.10 16 10610 16.so.16.10[.0]
1.6.11beta01-04 16 10611 16.so.16.11[.0]
1.6.11beta01-06 16 10611 16.so.16.11[.0]
1.6.11rc01-02 16 10611 16.so.16.11[.0]
1.6.11 16 10611 16.so.16.11[.0]
Henceforth the source version will match the shared-library minor
and patch numbers; the shared-library major version number will be
@@ -6062,7 +6078,7 @@ possible without all of you.
Thanks to Frank J. T. Wojcik for helping with the documentation.
Libpng version 1.6.11beta04 - April 21, 2014:
Libpng version 1.6.11 - June 5, 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).
@@ -6085,8 +6101,8 @@ this sentence.
This code is released under the libpng license.
libpng versions 1.2.6, August 15, 2004, through 1.6.11beta04, April 21, 2014, are
Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are
libpng versions 1.2.6, August 15, 2004, through 1.6.11, June 5, 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
@@ -6184,7 +6200,7 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
glennrp at users.sourceforge.net
April 21, 2014
June 5, 2014
.\" end of man page

View File

@@ -1,6 +1,6 @@
.TH LIBPNGPF 3 "April 21, 2014"
.TH LIBPNGPF 3 "June 5, 2014"
.SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.11beta04
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.11
(private functions)
.SH SYNOPSIS
\fB#include \fI"pngpriv.h"

2
png.5
View File

@@ -1,4 +1,4 @@
.TH PNG 5 "April 21, 2014"
.TH PNG 5 "June 5, 2014"
.SH NAME
png \- Portable Network Graphics (PNG) format
.SH DESCRIPTION

30
png.c
View File

@@ -1,7 +1,7 @@
/* png.c - location for general purpose libpng functions
*
* Last changed in libpng 1.6.11 [(PENDING RELEASE)]
* Last changed in libpng 1.6.11 [June 5, 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.)
@@ -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_11beta04 Your_png_h_is_not_version_1_6_11beta04;
typedef png_libpng_version_1_6_11 Your_png_h_is_not_version_1_6_11;
/* 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
@@ -773,13 +773,13 @@ png_get_copyright(png_const_structrp png_ptr)
#else
# ifdef __STDC__
return PNG_STRING_NEWLINE \
"libpng version 1.6.11beta04 - April 21, 2014" PNG_STRING_NEWLINE \
"libpng version 1.6.11 - June 5, 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.11beta04 - April 21, 2014\
return "libpng version 1.6.11 - June 5, 2014\
Copyright (c) 1998-2014 Glenn Randers-Pehrson\
Copyright (c) 1996-1997 Andreas Dilger\
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.";
@@ -1906,10 +1906,6 @@ png_icc_check_length(png_const_structrp png_ptr, png_colorspacerp colorspace,
return png_icc_profile_error(png_ptr, colorspace, name, profile_length,
"too short");
if (profile_length & 3)
return png_icc_profile_error(png_ptr, colorspace, name, profile_length,
"invalid length");
return 1;
}
@@ -1930,6 +1926,11 @@ png_icc_check_header(png_const_structrp png_ptr, png_colorspacerp colorspace,
return png_icc_profile_error(png_ptr, colorspace, name, temp,
"length does not match profile");
temp = (png_uint_32) (*(profile+8));
if (temp > 3 && (profile_length & 3))
return png_icc_profile_error(png_ptr, colorspace, name, profile_length,
"invalid length");
temp = png_get_uint_32(profile+128); /* tag count: 12 bytes/tag */
if (temp > 357913930 || /* (2^32-4-132)/12: maximum possible tag count */
profile_length < 132+12*temp) /* truncated tag table */
@@ -2044,7 +2045,7 @@ png_icc_check_header(png_const_structrp png_ptr, png_colorspacerp colorspace,
"invalid embedded Abstract ICC profile");
case 0x6C696E6B: /* 'link' */
/* DeviceLink profiles cannnot be interpreted in a non-device specific
/* DeviceLink profiles cannot be interpreted in a non-device specific
* fashion, if an app uses the AToB0Tag in the profile the results are
* undefined unless the result is sent to the intended device,
* therefore a DeviceLink profile should not be found embedded in a
@@ -2055,7 +2056,7 @@ png_icc_check_header(png_const_structrp png_ptr, png_colorspacerp colorspace,
case 0x6E6D636C: /* 'nmcl' */
/* A NamedColor profile is also device specific, however it doesn't
* contain an AToB0 tag that is open to misintrepretation. Almost
* contain an AToB0 tag that is open to misinterpretation. Almost
* certainly it will fail the tests below.
*/
(void)png_icc_profile_error(png_ptr, NULL, name, temp,
@@ -2210,11 +2211,18 @@ png_compare_ICC_profile_with_sRGB(png_const_structrp png_ptr,
* by sRGB (but maybe defined by a later ICC specification) the read of
* the profile will fail at that point.
*/
/* First see if PNG_SKIP_sRGB_CHECK_PROFILE has been set to "on" */
if (((png_ptr->options >> PNG_SKIP_sRGB_CHECK_PROFILE) & 3) ==
PNG_OPTION_ON)
return 0;
png_uint_32 length = 0;
png_uint_32 intent = 0x10000; /* invalid */
#if PNG_sRGB_PROFILE_CHECKS > 1
uLong crc = 0; /* the value for 0 length data */
#endif
unsigned int i;
for (i=0; i < (sizeof png_sRGB_checks) / (sizeof png_sRGB_checks[0]); ++i)
@@ -2294,7 +2302,6 @@ png_compare_ICC_profile_with_sRGB(png_const_structrp png_ptr,
return 1+png_sRGB_checks[i].is_broken;
}
}
}
# if PNG_sRGB_PROFILE_CHECKS > 0
/* The signature matched, but the profile had been changed in some
@@ -2306,6 +2313,7 @@ png_compare_ICC_profile_with_sRGB(png_const_structrp png_ptr,
PNG_CHUNK_WARNING);
break;
# endif
}
}
}

27
png.h
View File

@@ -1,7 +1,7 @@
/* png.h - header file for PNG reference library
*
* libpng version 1.6.11beta04 - April 21, 2014
* libpng version 1.6.11 - June 5, 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.)
@@ -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.11beta04 - April 21, 2014: Glenn
* libpng versions 0.97, January 1998, through 1.6.11 - June 5, 2014: Glenn
* See also "Contributing Authors", below.
*
* Note about libpng version numbers:
@@ -195,7 +195,9 @@
* 1.6.10beta01-03 16 10610 16.so.16.10[.0]
* 1.6.10rc01-03 16 10610 16.so.16.10[.0]
* 1.6.10 16 10610 16.so.16.10[.0]
* 1.6.11beta01-04 16 10611 16.so.16.11[.0]
* 1.6.11beta01-06 16 10611 16.so.16.11[.0]
* 1.6.11rc01-02 16 10611 16.so.16.11[.0]
* 1.6.11 16 10611 16.so.16.11[.0]
*
* Henceforth the source version will match the shared-library major
* and minor numbers; the shared-library major version number will be
@@ -227,7 +229,7 @@
*
* This code is released under the libpng license.
*
* libpng versions 1.2.6, August 15, 2004, through 1.6.11beta04, April 21, 2014, are
* libpng versions 1.2.6, August 15, 2004, through 1.6.11, June 5, 2014, are
* Copyright (c) 2004, 2006-2013 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:
@@ -339,13 +341,13 @@
* Y2K compliance in libpng:
* =========================
*
* April 21, 2014
* June 5, 2014
*
* 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.11beta04 are Y2K compliant. It is my belief that
* upward through 1.6.11 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
@@ -407,9 +409,9 @@
*/
/* Version information for png.h - this should match the version in png.c */
#define PNG_LIBPNG_VER_STRING "1.6.11beta04"
#define PNG_LIBPNG_VER_STRING "1.6.11"
#define PNG_HEADER_VERSION_STRING \
" libpng version 1.6.11beta04 - April 21, 2014\n"
" libpng version 1.6.11 - June 5, 2014\n"
#define PNG_LIBPNG_VER_SONUM 16
#define PNG_LIBPNG_VER_DLLNUM 16
@@ -423,7 +425,7 @@
* PNG_LIBPNG_VER_STRING, omitting any leading zero:
*/
#define PNG_LIBPNG_VER_BUILD 04
#define PNG_LIBPNG_VER_BUILD 0
/* Release Status */
#define PNG_LIBPNG_BUILD_ALPHA 1
@@ -440,7 +442,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_STABLE
/* Careful here. At one time, Guy wanted to use 082, but that would be octal.
* We must not include leading zeros.
@@ -553,7 +555,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_11beta04;
typedef char* png_libpng_version_1_6_11;
/* Basic control structions. Read libpng-manual.txt or libpng.3 for more info.
*
@@ -3226,7 +3228,8 @@ PNG_EXPORT(243, int, png_get_palette_max, (png_const_structp png_ptr,
# define PNG_ARM_NEON 0 /* HARDWARE: ARM Neon SIMD instructions supported */
#endif
#define PNG_MAXIMUM_INFLATE_WINDOW 2 /* SOFTWARE: force maximum window */
#define PNG_OPTION_NEXT 4 /* Next option - numbers must be even */
#define PNG_SKIP_sRGB_CHECK_PROFILE 4 /* SOFTWARE: Check ICC profile for sRGB */
#define PNG_OPTION_NEXT 6 /* Next option - numbers must be even */
/* Return values: NOTE: there are four values and 'off' is *not* zero */
#define PNG_OPTION_UNSET 0 /* Unset - defaults to off */

View File

@@ -1,7 +1,7 @@
/* pngconf.h - machine configurable file for libpng
*
* libpng version 1.6.11beta04 - April 21, 2014
* libpng version 1.6.11 - June 5, 2014
*
* Copyright (c) 1998-2013 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

View File

@@ -1,7 +1,7 @@
/* pngerror.c - stub functions for i/o and memory allocation
*
* Last changed in libpng 1.6.11 [(PENDING RELEASE)]
* Last changed in libpng 1.6.11 [June 5, 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.)

View File

@@ -1,7 +1,7 @@
/* pngget.c - retrieval of values from info struct
*
* Last changed in libpng 1.6.11 [(PENDING RELEASE)]
* Last changed in libpng 1.6.11 [June 5, 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.)

View File

@@ -1,7 +1,7 @@
/* pngpread.c - read a png file in push mode
*
* Last changed in libpng 1.6.11 [(PENDING RELEASE)]
* Last changed in libpng 1.6.11 [June 5, 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.)

View File

@@ -822,7 +822,7 @@
* zlib version number and because this affects handling of certain broken
* PNG files the -I directives must match.
*
* The most likely explanation is that you passed a -I in CFLAGS, this will
* The most likely explanation is that you passed a -I in CFLAGS. This will
* not work; all the preprocessor directories and in particular all the -I
* directives must be in CPPFLAGS.
*/

View File

@@ -1,7 +1,7 @@
/* pngread.c - read a PNG file
*
* Last changed in libpng 1.6.11 [(PENDING RELEASE)]
* Last changed in libpng 1.6.11 [June 5, 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.)

View File

@@ -1,7 +1,7 @@
/* pngrtran.c - transforms the data in a row for PNG readers
*
* Last changed in libpng 1.6.11 [(PENDING RELEASE)]
* Last changed in libpng 1.6.11 [June 5, 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.)

View File

@@ -1,7 +1,7 @@
/* pngrutil.c - utilities to read a PNG file
*
* Last changed in libpng 1.6.11 [(PENDING RELEASE)]
* Last changed in libpng 1.6.11 [June 5, 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.)

View File

@@ -1,7 +1,7 @@
/* pngset.c - storage of image information into info struct
*
* Last changed in libpng 1.6.11 [(PENDING RELEASE)]
* Last changed in libpng 1.6.11 [June 5, 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.)

View File

@@ -1,7 +1,7 @@
/* pngtest.c - a simple test program to test libpng
*
* Last changed in libpng 1.6.11 [(PENDING RELEASE)]
* Last changed in libpng 1.6.11 [June 5, 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.)
@@ -1991,4 +1991,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_11beta04 Your_png_h_is_not_version_1_6_11beta04;
typedef png_libpng_version_1_6_11 Your_png_h_is_not_version_1_6_11;

View File

@@ -1,7 +1,7 @@
/* pngtrans.c - transforms the data in a row (used by both readers and writers)
*
* Last changed in libpng 1.6.11 [(PENDING RELEASE)]
* Last changed in libpng 1.6.11 [June 5, 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.)
@@ -328,6 +328,9 @@ png_do_swap(png_row_infop row_info, png_bytep row)
for (i = 0; i < istop; i++, rp += 2)
{
#ifdef PNG_BUILTIN_BSWAP16_SUPPORTED
/* Feature added to libpng-1.6.11 for testing purposes, not
* enabled by default.
*/
*(png_uint_16*)rp = __builtin_bswap16(*(png_uint_16*)rp);
#else
png_byte t = *rp;

View File

@@ -1,7 +1,7 @@
/* pngwrite.c - general routines to write a PNG file
*
* Last changed in libpng 1.6.11 [(PENDING RELEASE)]
* Last changed in libpng 1.6.11 [June 5, 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.)

View File

@@ -1,7 +1,7 @@
/* pngwutil.c - utilities to write a PNG file
*
* Last changed in libpng 1.6.11 [(PENDING RELEASE)]
* Last changed in libpng 1.6.11 [June 5, 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.)
@@ -1193,6 +1193,7 @@ png_write_iCCP(png_structrp png_ptr, png_const_charp name,
png_uint_32 profile_len;
png_byte new_name[81]; /* 1 byte for the compression byte */
compression_state comp;
png_uint_32 temp;
png_debug(1, "in png_write_iCCP");
@@ -1207,7 +1208,8 @@ png_write_iCCP(png_structrp png_ptr, png_const_charp name,
if (profile_len < 132)
png_error(png_ptr, "ICC profile too short");
if (profile_len & 0x03)
temp = (png_uint_32) (*(profile+8));
if (temp > 3 && (profile_len & 0x03))
png_error(png_ptr, "ICC profile length invalid (not a multiple of 4)");
{

View File

@@ -1,7 +1,7 @@
VisualStudio instructions
libpng version 1.6.11beta04 - April 21, 2014
libpng version 1.6.11 - June 5, 2014
Copyright (c) 1998-2010 Glenn Randers-Pehrson

View File

@@ -2,7 +2,7 @@
<!--
* zlib.props - location of zlib source
*
* libpng version 1.6.11beta04 - April 21, 2014
* libpng version 1.6.11 - June 5, 2014
*
* Copyright (c) 1998-2011 Glenn Randers-Pehrson
*

View File

@@ -1,9 +1,9 @@
Makefiles for libpng version 1.6.11beta04 - April 21, 2014
Makefiles for libpng version 1.6.11 - June 5, 2014
pnglibconf.h.prebuilt => Stores configuration settings
makefile.linux => Linux/ELF makefile
(gcc, creates libpng16.so.16.1.6.11beta04)
(gcc, creates libpng16.so.16.1.6.11)
makefile.gcc => Generic makefile (gcc, creates static libpng.a)
makefile.knr => Archaic UNIX Makefile that converts files with
ansi2knr (Requires ansi2knr.c from
@@ -20,7 +20,7 @@ pnglibconf.h.prebuilt => Stores configuration settings
makefile.dec => DEC Alpha UNIX makefile
makefile.dj2 => DJGPP 2 makefile
makefile.elf => Linux/ELF makefile symbol versioning,
(gcc, creates libpng16.so.16.1.6.11beta04)
(gcc, creates libpng16.so.16.1.6.11)
makefile.freebsd => FreeBSD makefile
makefile.gcc => Generic gcc makefile
makefile.hpgcc => HPUX makefile using gcc
@@ -35,12 +35,12 @@ pnglibconf.h.prebuilt => Stores configuration settings
makefile.os2 => OS/2 Makefile (gcc and emx, requires libpng.def)
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
makefile.sggcc => Silicon Graphics (gcc,
creates libpng16.so.16.1.6.11beta04)
creates libpng16.so.16.1.6.11)
makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
makefile.solaris => Solaris 2.X makefile (gcc,
creates libpng16.so.16.1.6.11beta04)
creates libpng16.so.16.1.6.11)
makefile.so9 => Solaris 9 makefile (gcc,
creates libpng16.so.16.1.6.11beta04)
creates libpng16.so.16.1.6.11)
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
makefile.sunos => Sun makefile
makefile.32sunu => Sun Ultra 32-bit makefile

View File

@@ -21,7 +21,7 @@ PNG_DFN "OS2 DESCRIPTION "PNG image compression library""
PNG_DFN "OS2 CODE PRELOAD MOVEABLE DISCARDABLE"
PNG_DFN ""
PNG_DFN "EXPORTS"
PNG_DFN ";Version 1.6.11beta04"
PNG_DFN ";Version 1.6.11"
#define PNG_EXPORTA(ordinal, type, name, args, attributes)\
PNG_DFN "@" SYMBOL_PREFIX "@@" name "@"

View File

@@ -11,7 +11,7 @@
# Modeled after libxml-config.
version=1.6.11beta04
version=1.6.11
prefix=""
libdir=""
libs=""

View File

@@ -5,6 +5,6 @@ includedir=@includedir@/libpng16
Name: libpng
Description: Loads and saves PNG files
Version: 1.6.11beta04
Version: 1.6.11
Libs: -L${libdir} -lpng16
Cflags: -I${includedir}

View File

@@ -17,7 +17,7 @@ INCSDIR=${LOCALBASE}/include/libpng16
LIB= png16
SHLIB_MAJOR= 0
SHLIB_MINOR= 1.6.11beta04
SHLIB_MINOR= 1.6.11
SRCS= png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
pngwtran.c pngmem.c pngerror.c pngpread.c

View File

@@ -17,7 +17,7 @@ INCSDIR=${LOCALBASE}/include
LIB= png
SHLIB_MAJOR= 16
SHLIB_MINOR= 1.6.11beta04
SHLIB_MINOR= 1.6.11
SRCS= png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
pngwtran.c pngmem.c pngerror.c pngpread.c

View File

@@ -11,7 +11,7 @@ LIBDIR= ${PREFIX}/lib
MANDIR= ${PREFIX}/man/cat
SHLIB_MAJOR= 16
SHLIB_MINOR= 1.6.11beta04
SHLIB_MINOR= 1.6.11
LIB= png
SRCS= png.c pngerror.c pngget.c pngmem.c pngpread.c \

View File

@@ -269,7 +269,7 @@ $1 == "option" && NF >= 2{
if (val != 1) { # error reading it
if (val == 0)
print "option", opt ": ERROR: missing contination line"
print "option", opt ": ERROR: missing continuation line"
else
print "option", opt ": ERROR: error reading continuation line"
@@ -362,7 +362,7 @@ pre != 0 && $1 == "chunk" && NF >= 2{
if (val != 1) { # error reading it
if (val == 0)
print "chunk", opt ": ERROR: missing contination line"
print "chunk", opt ": ERROR: missing continuation line"
else
print "chunk", opt ": ERROR: error reading continuation line"
@@ -493,7 +493,7 @@ $1 ~ /^@/{
next
}
# Check for unreognized lines, because of the preprocessing chunk
# Check for unrecognized lines, because of the preprocessing chunk
# format errors will be detected on the first pass independent of
# any other format errors.
{
@@ -585,7 +585,7 @@ END{
# If an option[opt] is 'on' then turn on all requires[opt]
# If an option[opt] is 'off' then turn off all enabledby[opt]
#
# Error out if we have to turn 'on' an 'off' option or vice versa.
# Error out if we have to turn 'on' to an 'off' option or vice versa.
npending = 0
for (opt in option) if (opt != "") {
if (option[opt] == "on" || option[opt] == "off") {
@@ -677,7 +677,7 @@ END{
for (j=1; j<=nreqs; ++j) {
print "#ifndef PNG_" r[j] "_SUPPORTED" >out
print "# undef PNG_on /*!" r[j] "*/" >out
# this error appears in the final output if something
# This error appears in the final output if something
# was switched 'on' but the processing above to force
# the requires did not work
if (option[i] == "on") {

View File

@@ -580,19 +580,19 @@ option COLORSPACE enables GAMMA disabled
#
# -1: Don't do any sRGB profile checking.
#
# 0: Just validate the profile MD5 signature if present, otherwise use
# the checks in option 1.
# 0: Just validate the profile MD5 signature if present, otherwise use
# the checks in option 1.
#
# 1: Additionally check the length, intent and adler32 checksum of the
# actual data. If enabled this will reject known profiles that have
# had the rendering intent in the header changed as well as other edits
# done without updating the checksum. See the discussion below.
# 1: Additionally check the length, intent and adler32 checksum of the
# actual data. If enabled this will reject known profiles that have
# had the rendering intent in the header changed as well as other edits
# done without updating the checksum. See the discussion below.
#
# 2: Additionally checksum all the data using the ethernet CRC32 algorithm.
# This makes it more difficult to fake profiles and makes it less likely
# to get a false positive on profiles with no signature, but is probably
# just a waste of time since all currently approved ICC sRGB profiles have
# a secure MD5 signature.
# 2: Additionally checksum all the data using the ethernet CRC32 algorithm.
# This makes it more difficult to fake profiles and makes it less likely
# to get a false positive on profiles with no signature, but is probably
# just a waste of time since all currently approved ICC sRGB profiles have
# a secure MD5 signature.
#
# The rendering intent. An ICC profile stores an intended rendering intent,
# but does not include the value in the signature. The intent is documented

View File

@@ -1,10 +1,10 @@
/* libpng 1.6.11beta04 STANDARD API DEFINITION */
/* libpng 1.6.11 STANDARD API DEFINITION */
/* pnglibconf.h - library build configuration */
/* Libpng version 1.6.11beta04 - April 21, 2014 */
/* Libpng version 1.6.11 - June 5, 2014 */
/* Copyright (c) 1998-2013 Glenn Randers-Pehrson */
/* Copyright (c) 1998-2014 Glenn Randers-Pehrson */
/* This code is released under the libpng license. */
/* For conditions of distribution and use, see the disclaimer */

View File

@@ -1,4 +1,4 @@
;Version 1.6.11beta04
;Version 1.6.11
;--------------------------------------------------------------
; LIBPNG symbol list as a Win32 DEF file
; Contains all the symbols that can be exported from libpng

View File

@@ -16,12 +16,6 @@
* scripts/pnglibconf.dfa then this checks the .dfa file too.
*/
#define PNG_EXPORTA(ordinal, type, name, args, attributes)\
PNG_DFN "@" name "@ @@" ordinal "@"
#define PNG_REMOVED(ordinal, type, name, args, attributes)\
PNG_DFN "; @" name "@ @@" ordinal "@"
#define PNG_EXPORT_LAST_ORDINAL(ordinal)\
#define PNG_EXPORTA(ordinal, type, name, args, attributes)\
PNG_DFN "@" name "@ @@" ordinal "@"
#define PNG_REMOVED(ordinal, type, name, args, attributes)\