[libpng17] Corrected the test on user transform changes on read. It was in the

png_set of the transform function, but that doesn't matter unless the
transform function changes the rowbuf size, and that is only valid if
transform_info is called.
This commit is contained in:
John Bowler
2013-04-12 22:10:38 -05:00
committed by Glenn Randers-Pehrson
parent ae1a5c811c
commit 066f9862f0
4 changed files with 20 additions and 6 deletions

View File

@@ -784,6 +784,15 @@ png_set_user_transform_info(png_structrp png_ptr, png_voidp
if (png_ptr == NULL)
return;
#ifdef PNG_READ_USER_TRANSFORM_SUPPORTED
if ((png_ptr->mode & PNG_IS_READ_STRUCT) != 0 &&
(png_ptr->flags & PNG_FLAG_ROW_INIT) != 0)
png_app_error(png_ptr,
"info change after png_start_read_image or png_read_update_info");
return;
#endif
png_ptr->user_transform_ptr = user_transform_ptr;
png_ptr->user_transform_depth = (png_byte)user_transform_depth;
png_ptr->user_transform_channels = (png_byte)user_transform_channels;