[master] Pass "" instead of '\0' to png_default_error() in png_err().

This mistake was introduced in libpng-1.2.20beta01.
This commit is contained in:
Glenn Randers-Pehrson 2011-06-03 21:14:55 -05:00
parent adde7b5c1e
commit 9dad5e37ae
3 changed files with 14 additions and 5 deletions

View File

@ -1,5 +1,5 @@
Libpng 1.4.8beta01 - May 2, 2011
Libpng 1.4.8beta01 - June 4, 2011
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.
@ -26,10 +26,12 @@ Other information:
Changes since the last public release (1.4.7):
version 1.4.8beta01 [May 2, 2011]
version 1.4.8beta01 [June 4, 2011]
Undef "_ALL_SOURCE" for AIX, to prevent "jmpbuf" from being redefined.
Copied png_debug macros from pngpriv.h into pngtest.c and removed
"#include pngpriv.h" from pngtest.c, to avoid setting a bad example.
Pass "" instead of '\0' to png_default_error() in png_err(). This mistake
was introduced in libpng-1.2.20beta01.
Send comments/corrections/commendations to glennrp at users.sourceforge.net
or to png-mng-implement at lists.sf.net (subscription required; visit

View File

@ -2794,10 +2794,12 @@ version 1.4.7rc01 [April 9, 2011]
version 1.4.7 [April 9, 2011]
Disabled PNG_PEDANTIC_WARNINGS for all MSC versions as in libpng-1.4.5.
version 1.4.8beta01 [May 2, 2011]
version 1.4.8beta01 [June 4, 2011]
Undef "_ALL_SOURCE" for AIX, to prevent "jmpbuf" from being redefined.
Copied png_debug macros from pngpriv.h into pngtest.c and removed
"#include pngpriv.h" from pngtest.c, to avoid setting a bad example.
Pass "" instead of '\0' to png_default_error() in png_err(). This mistake
was introduced in libpng-1.2.20beta01.
Send comments/corrections/commendations to glennrp at users.sourceforge.net
or to png-mng-implement at lists.sf.net (subscription required; visit

View File

@ -87,12 +87,17 @@ png_error(png_structp png_ptr, png_const_charp error_message)
void PNGAPI
png_err(png_structp png_ptr)
{
/* Prior to 1.4.8 the error_fn received a NULL pointer, expressed
* erroneously as '\0', instead of the empty string "". This was
* apparently an error, introduced in libpng-1.2.20, and png_default_error
* will crash in this case.
*/
if (png_ptr != NULL && png_ptr->error_fn != NULL)
(*(png_ptr->error_fn))(png_ptr, '\0');
(*(png_ptr->error_fn))(png_ptr, "");
/* If the custom handler doesn't exist, or if it returns,
use the default handler, which will not return. */
png_default_error(png_ptr, '\0');
png_default_error(png_ptr, "");
}
#endif /* PNG_ERROR_TEXT_SUPPORTED */