[libpng16] Free the unknown_chunks structure even when it contains no data.

This commit is contained in:
Glenn Randers-Pehrson 2015-03-09 09:13:58 -05:00
parent 06ee532286
commit 3645008e22
5 changed files with 41 additions and 37 deletions

View File

@ -1,4 +1,4 @@
Libpng 1.6.17rc02 - March 8, 2015 Libpng 1.6.17rc02 - March 9, 2015
This is not intended to be a public release. It will be replaced 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. within a few weeks by a public version or by another test version.
@ -68,9 +68,10 @@ Version 1.6.17beta06 [February 27, 2015]
Version 1.6.17rc01 [March 4, 2015] Version 1.6.17rc01 [March 4, 2015]
No changes. No changes.
Version 1.6.17rc02 [March 8, 2015] Version 1.6.17rc02 [March 9, 2015]
Removed some comments that the configure script did not handle Removed some comments that the configure script did not handle
properly from scripts/pnglibconf.dfa and pnglibconf.h.prebuilt. properly from scripts/pnglibconf.dfa and pnglibconf.h.prebuilt.
Free the unknown_chunks structure even when it contains no data.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit (subscription required; visit

View File

@ -5169,9 +5169,10 @@ Version 1.6.17beta06 [February 27, 2015]
Version 1.6.17rc01 [March 4, 2015] Version 1.6.17rc01 [March 4, 2015]
No changes. No changes.
Version 1.6.17rc02 [March 8, 2015] Version 1.6.17rc02 [March 9, 2015]
Removed some comments that the configure script did not handle Removed some comments that the configure script did not handle
properly from scripts/pnglibconf.dfa and pnglibconf.h.prebuilt. properly from scripts/pnglibconf.dfa and pnglibconf.h.prebuilt.
Free the unknown_chunks structure even when it contains no data.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit (subscription required; visit

View File

@ -1,6 +1,6 @@
libpng-manual.txt - A description on how to use and modify libpng libpng-manual.txt - A description on how to use and modify libpng
libpng version 1.6.17rc02 - March 7, 2015 libpng version 1.6.17rc02 - March 9, 2015
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net> <glennrp at users.sourceforge.net>
Copyright (c) 1998-2015 Glenn Randers-Pehrson Copyright (c) 1998-2015 Glenn Randers-Pehrson
@ -11,7 +11,7 @@ libpng-manual.txt - A description on how to use and modify libpng
Based on: Based on:
libpng versions 0.97, January 1998, through 1.6.17rc02 - March 7, 2015 libpng versions 0.97, January 1998, through 1.6.17rc02 - March 9, 2015
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2015 Glenn Randers-Pehrson Copyright (c) 1998-2015 Glenn Randers-Pehrson
@ -1994,7 +1994,7 @@ value when you call it in this position:
png_set_gamma(png_ptr, screen_gamma, 0.45455); png_set_gamma(png_ptr, screen_gamma, 0.45455);
If you need to reduce an RGB file to a paletted file, or if a paletted If you need to reduce an RGB file to a paletted file, or if a paletted
file has more entries then will fit on your screen, png_set_quantize() file has more entries than will fit on your screen, png_set_quantize()
will do that. Note that this is a simple match quantization that merely will do that. Note that this is a simple match quantization that merely
finds the closest color available. This should work fairly well with finds the closest color available. This should work fairly well with
optimized palettes, but fairly badly with linear color cubes. If you optimized palettes, but fairly badly with linear color cubes. If you
@ -5032,6 +5032,10 @@ The signatures of many exported functions were changed, such that
png_infop became png_inforp or png_const_inforp png_infop became png_inforp or png_const_inforp
where "rp" indicates a "restricted pointer". where "rp" indicates a "restricted pointer".
The support for FAR/far types has been eliminated and the definition of
png_alloc_size_t is now controlled by a flag so that 'small size_t' systems
can select it if necessary.
Error detection in some chunks has improved; in particular the iCCP chunk Error detection in some chunks has improved; in particular the iCCP chunk
reader now does pretty complete validation of the basic format. Some bad reader now does pretty complete validation of the basic format. Some bad
profiles that were previously accepted are now accepted with a warning or profiles that were previously accepted are now accepted with a warning or
@ -5275,7 +5279,7 @@ Other rules can be inferred by inspecting the libpng source.
XVI. Y2K Compliance in libpng XVI. Y2K Compliance in libpng
March 7, 2015 March 9, 2015
Since the PNG Development group is an ad-hoc body, we can't make Since the PNG Development group is an ad-hoc body, we can't make
an official declaration. an official declaration.

View File

@ -1,4 +1,4 @@
.TH LIBPNG 3 "March 7, 2015" .TH LIBPNG 3 "March 9, 2015"
.SH NAME .SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.17rc02 libpng \- Portable Network Graphics (PNG) Reference Library 1.6.17rc02
.SH SYNOPSIS .SH SYNOPSIS
@ -504,7 +504,7 @@ Following is a copy of the libpng-manual.txt file that accompanies libpng.
.SH LIBPNG.TXT .SH LIBPNG.TXT
libpng-manual.txt - A description on how to use and modify libpng libpng-manual.txt - A description on how to use and modify libpng
libpng version 1.6.17rc02 - March 7, 2015 libpng version 1.6.17rc02 - March 9, 2015
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net> <glennrp at users.sourceforge.net>
Copyright (c) 1998-2015 Glenn Randers-Pehrson Copyright (c) 1998-2015 Glenn Randers-Pehrson
@ -515,7 +515,7 @@ libpng-manual.txt - A description on how to use and modify libpng
Based on: Based on:
libpng versions 0.97, January 1998, through 1.6.17rc02 - March 7, 2015 libpng versions 0.97, January 1998, through 1.6.17rc02 - March 9, 2015
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2015 Glenn Randers-Pehrson Copyright (c) 1998-2015 Glenn Randers-Pehrson
@ -2498,7 +2498,7 @@ value when you call it in this position:
png_set_gamma(png_ptr, screen_gamma, 0.45455); png_set_gamma(png_ptr, screen_gamma, 0.45455);
If you need to reduce an RGB file to a paletted file, or if a paletted If you need to reduce an RGB file to a paletted file, or if a paletted
file has more entries then will fit on your screen, png_set_quantize() file has more entries than will fit on your screen, png_set_quantize()
will do that. Note that this is a simple match quantization that merely will do that. Note that this is a simple match quantization that merely
finds the closest color available. This should work fairly well with finds the closest color available. This should work fairly well with
optimized palettes, but fairly badly with linear color cubes. If you optimized palettes, but fairly badly with linear color cubes. If you
@ -5536,6 +5536,10 @@ The signatures of many exported functions were changed, such that
png_infop became png_inforp or png_const_inforp png_infop became png_inforp or png_const_inforp
where "rp" indicates a "restricted pointer". where "rp" indicates a "restricted pointer".
The support for FAR/far types has been eliminated and the definition of
png_alloc_size_t is now controlled by a flag so that 'small size_t' systems
can select it if necessary.
Error detection in some chunks has improved; in particular the iCCP chunk Error detection in some chunks has improved; in particular the iCCP chunk
reader now does pretty complete validation of the basic format. Some bad reader now does pretty complete validation of the basic format. Some bad
profiles that were previously accepted are now accepted with a warning or profiles that were previously accepted are now accepted with a warning or
@ -5779,7 +5783,7 @@ Other rules can be inferred by inspecting the libpng source.
.SH XVI. Y2K Compliance in libpng .SH XVI. Y2K Compliance in libpng
March 7, 2015 March 9, 2015
Since the PNG Development group is an ad-hoc body, we can't make Since the PNG Development group is an ad-hoc body, we can't make
an official declaration. an official declaration.
@ -6095,7 +6099,7 @@ possible without all of you.
Thanks to Frank J. T. Wojcik for helping with the documentation. Thanks to Frank J. T. Wojcik for helping with the documentation.
Libpng version 1.6.17rc02 - March 7, 2015: Libpng version 1.6.17rc02 - March 9, 2015:
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net). Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
@ -6118,7 +6122,7 @@ this sentence.
This code is released under the libpng license. This code is released under the libpng license.
libpng versions 1.2.6, August 15, 2004, through 1.6.17rc02, March 7, 2015, are libpng versions 1.2.6, August 15, 2004, through 1.6.17rc02, March 9, 2015, are
Copyright (c) 2004,2006-2014 Glenn Randers-Pehrson, and are Copyright (c) 2004,2006-2014 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-1.2.5 distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors with the following individual added to the list of Contributing Authors
@ -6217,7 +6221,7 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson Glenn Randers-Pehrson
glennrp at users.sourceforge.net glennrp at users.sourceforge.net
March 7, 2015 March 9, 2015
.\" end of man page .\" end of man page

10
png.c
View File

@ -546,8 +546,6 @@ png_free_data(png_const_structrp png_ptr, png_inforp info_ptr, png_uint_32 mask,
} }
else else
{
if (info_ptr->splt_palettes_num != 0)
{ {
int i; int i;
@ -560,7 +558,6 @@ png_free_data(png_const_structrp png_ptr, png_inforp info_ptr, png_uint_32 mask,
png_free(png_ptr, info_ptr->splt_palettes); png_free(png_ptr, info_ptr->splt_palettes);
info_ptr->splt_palettes = NULL; info_ptr->splt_palettes = NULL;
info_ptr->splt_palettes_num = 0; info_ptr->splt_palettes_num = 0;
}
info_ptr->valid &= ~PNG_INFO_sPLT; info_ptr->valid &= ~PNG_INFO_sPLT;
} }
} }
@ -580,8 +577,6 @@ png_free_data(png_const_structrp png_ptr, png_inforp info_ptr, png_uint_32 mask,
{ {
int i; int i;
if (info_ptr->unknown_chunks_num != 0)
{
for (i = 0; i < info_ptr->unknown_chunks_num; i++) for (i = 0; i < info_ptr->unknown_chunks_num; i++)
png_free(png_ptr, info_ptr->unknown_chunks[i].data); png_free(png_ptr, info_ptr->unknown_chunks[i].data);
@ -590,7 +585,6 @@ png_free_data(png_const_structrp png_ptr, png_inforp info_ptr, png_uint_32 mask,
info_ptr->unknown_chunks_num = 0; info_ptr->unknown_chunks_num = 0;
} }
} }
}
#endif #endif
#ifdef PNG_hIST_SUPPORTED #ifdef PNG_hIST_SUPPORTED
@ -772,13 +766,13 @@ png_get_copyright(png_const_structrp png_ptr)
#else #else
# ifdef __STDC__ # ifdef __STDC__
return PNG_STRING_NEWLINE \ return PNG_STRING_NEWLINE \
"libpng version 1.6.17rc02 - March 7, 2015" PNG_STRING_NEWLINE \ "libpng version 1.6.17rc02 - March 9, 2015" PNG_STRING_NEWLINE \
"Copyright (c) 1998-2015 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \ "Copyright (c) 1998-2015 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \
"Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \ "Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
"Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \ "Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \
PNG_STRING_NEWLINE; PNG_STRING_NEWLINE;
# else # else
return "libpng version 1.6.17rc02 - March 7, 2015\ return "libpng version 1.6.17rc02 - March 9, 2015\
Copyright (c) 1998-2015 Glenn Randers-Pehrson\ Copyright (c) 1998-2015 Glenn Randers-Pehrson\
Copyright (c) 1996-1997 Andreas Dilger\ Copyright (c) 1996-1997 Andreas Dilger\
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc."; Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.";