mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
[libpng16] Reverted the fix of byte order in png_do_read_filler() with 16-bit
input that was made in version 1.6.17beta01, to preserve legacy behavior even though it was incorrect. Instead, added new API png_set_filter_16() and png_set_add_alpha_16() that set a flag to make png_do_read_filter() interpret the filler bytes properly.
This commit is contained in:
@@ -2660,10 +2660,17 @@ png_do_read_filler(png_row_infop row_info, png_bytep row,
|
||||
png_uint_32 i;
|
||||
png_uint_32 row_width = row_info->width;
|
||||
|
||||
png_byte lo_filler = (png_byte)filler;
|
||||
|
||||
#ifdef PNG_READ_16BIT_SUPPORTED
|
||||
png_byte hi_filler = (png_byte)(filler>>8);
|
||||
if (((flags & PNG_FLAG_FILLER_16) == 0) && row_info->bit_depth == 16)
|
||||
{
|
||||
/* filler bytes were read in the wrong order prior to libpng-1.5.24 */
|
||||
lo_filler = hi_filler;
|
||||
hi_filler = (png_byte)filler;
|
||||
}
|
||||
#endif
|
||||
png_byte lo_filler = (png_byte)filler;
|
||||
|
||||
png_debug(1, "in png_do_read_filler");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user