[libpng16] Allow writing ICC V2 profiles that lack padding (Kai-Uwe Behrmann).

This commit is contained in:
Glenn Randers-Pehrson 2014-04-25 06:14:50 -05:00
parent 5a1d1b5369
commit ab9736a647
3 changed files with 8 additions and 6 deletions

View File

@ -1,5 +1,5 @@
Libpng 1.6.11beta05 - April 24, 2014 Libpng 1.6.11beta05 - April 25, 2014
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.
@ -55,8 +55,8 @@ Version 1.6.11beta04 [April 19, 2014]
when png_combine_row is not used or not built, when png_combine_row is not used or not built,
Allow PNG_sRGB_PROFILE_CHECKING = (-1) to mean no sRGB profile checking. Allow PNG_sRGB_PROFILE_CHECKING = (-1) to mean no sRGB profile checking.
Version 1.6.11beta05 [April 24, 2014] Version 1.6.11beta05 [April 25, 2014]
Do not reject ICC V2 profiles that lack padding. Do not reject ICC V2 profiles that lack padding (Kai-Uwe Behrmann).
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

@ -4906,8 +4906,8 @@ Version 1.6.11beta04 [April 19, 2014]
when png_combine_row is not used or not built, when png_combine_row is not used or not built,
Allow PNG_sRGB_PROFILE_CHECKING = (-1) to mean no sRGB profile checking. Allow PNG_sRGB_PROFILE_CHECKING = (-1) to mean no sRGB profile checking.
Version 1.6.11beta05 [April 24, 2014] Version 1.6.11beta05 [April 25, 2014]
Do not reject ICC V2 profiles that lack padding. Do not reject ICC V2 profiles that lack padding (Kai-Uwe Behrmann).
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

@ -1193,6 +1193,7 @@ png_write_iCCP(png_structrp png_ptr, png_const_charp name,
png_uint_32 profile_len; png_uint_32 profile_len;
png_byte new_name[81]; /* 1 byte for the compression byte */ png_byte new_name[81]; /* 1 byte for the compression byte */
compression_state comp; compression_state comp;
png_uint_32 temp;
png_debug(1, "in png_write_iCCP"); 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) if (profile_len < 132)
png_error(png_ptr, "ICC profile too short"); 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)"); png_error(png_ptr, "ICC profile length invalid (not a multiple of 4)");
{ {