[libpng17] Revert change to png_default_read_data() made in libpng-1.7.0beta55.

This commit is contained in:
John Bowler 2015-03-16 19:41:43 -05:00 committed by Glenn Randers-Pehrson
parent 5ff2d472e8
commit e4521a073c
3 changed files with 20 additions and 36 deletions

View File

@ -1,5 +1,5 @@
Libpng 1.7.0beta57 - March 15, 2015 Libpng 1.7.0beta57 - March 17, 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.
@ -750,8 +750,12 @@ Version 1.7.0beta56 [March 11, 2015]
Updated CMakeLists.txt to add OSX framework, change YES/NO to ON/OFF Updated CMakeLists.txt to add OSX framework, change YES/NO to ON/OFF
for consistency, and remove some useless tests (Alexey Petruchik). for consistency, and remove some useless tests (Alexey Petruchik).
Version 1.7.0beta57 [March 15, 2015] Version 1.7.0beta57 [March 17, 2015]
Remove pnglibconf.h, not pnglibconf.* in "make clean" (Cosmin). Remove pnglibconf.h, pnglibconf.c, and pnglibconf.out instead of
pnglibconf.* in "make clean" (Cosmin).
Fix bug in calculation of maxbits, in png_write_sBIT, introduced
in libpng-1.6.17beta01 (John Bowler).
Revert change to png_default_read_data() made in libpng-1.7.0beta55.
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

@ -5040,8 +5040,12 @@ Version 1.7.0beta56 [March 11, 2015]
Updated CMakeLists.txt to add OSX framework, change YES/NO to ON/OFF Updated CMakeLists.txt to add OSX framework, change YES/NO to ON/OFF
for consistency, and remove some useless tests (Alexey Petruchik). for consistency, and remove some useless tests (Alexey Petruchik).
Version 1.7.0beta57 [March 15, 2015] Version 1.7.0beta57 [March 17, 2015]
Remove pnglibconf.h, not pnglibconf.* in "make clean" (Cosmin). Remove pnglibconf.h, pnglibconf.c, and pnglibconf.out instead of
pnglibconf.* in "make clean" (Cosmin).
Fix bug in calculation of maxbits, in png_write_sBIT, introduced
in libpng-1.6.17beta01 (John Bowler).
Revert change to png_default_read_data() made in libpng-1.7.0beta55.
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

@ -49,42 +49,18 @@ png_read_data(png_structrp png_ptr, png_bytep data, png_size_t length)
void PNGCBAPI void PNGCBAPI
png_default_read_data(png_structp png_ptr, png_bytep data, png_size_t length) png_default_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
{ {
png_FILE_p io_ptr; png_size_t check;
io_ptr = png_get_io_ptr(png_ptr); if (png_ptr == NULL)
return;
if (length == 0) /* fread() returns 0 on error, so it is OK to store this in a png_size_t
png_error(png_ptr, "Read Error: invalid length requested");
clearerr(io_ptr);
if (fileno(io_ptr) == -1)
png_error(png_ptr, "Read Error: invalid io_ptr");
/*
* fread() returns 0 on error, so it is OK to store this in a png_size_t
* instead of an int, which is what fread() actually returns. * instead of an int, which is what fread() actually returns.
*/ */
if ((png_size_t)fread((void *)data, sizeof (png_byte), length, check = fread(data, 1, length, png_voidcast(png_FILE_p, png_ptr->io_ptr));
io_ptr) != length)
{
clearerr(io_ptr);
png_error(png_ptr, "Read Error: invalid length returned");
}
if (ferror(io_ptr)) if (check != length)
{ png_error(png_ptr, "Read Error");
clearerr(io_ptr);
png_error(png_ptr, "Read Error: error returned by fread()");
}
if (feof(io_ptr))
{
clearerr(io_ptr);
png_error(png_ptr, "Read Error: unexpected end of file");
}
clearerr(io_ptr);
} }
#endif #endif