mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
[libpng17] Transformed rewrite: changed row_info, added checks. This introduces an
internal struct (png_transform_control) to replace row_info and uses
that to implement affirms correctly. The change also adds checks on
the rowbytes calculation and additional checks on most transform
implementations.
Added png_uint_16 range checking, pngvalid tRNS, fixed png_uint_16:
review of previous checks, removal of some where SAFE. pngvalid: add
testing of tRNS for better code coverage pngvalid: correct rgb-to-gray
error calculations. Code coverage is still incomplete: see /*UNTESTED*/
in pngrtran.c
This commit is contained in:
committed by
Glenn Randers-Pehrson
parent
73ea393ab2
commit
673ae608ab
@@ -882,7 +882,12 @@ png_write_row(png_structrp png_ptr, png_const_bytep row)
|
||||
/* Check for out-of-range palette index */
|
||||
if (row_info.color_type == PNG_COLOR_TYPE_PALETTE &&
|
||||
png_ptr->num_palette_max >= 0)
|
||||
png_do_check_palette_indexes(png_ptr, &row_info);
|
||||
{
|
||||
png_transform_control display;
|
||||
|
||||
png_init_transform_control(png_ptr, &display, &row_info);
|
||||
png_do_check_palette_indexes(png_ptr, &display);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Find a filter if necessary, filter the row and write it out. */
|
||||
|
||||
Reference in New Issue
Block a user