[libpng16] Revert recent pngvalid.c changes and define FE_DIVBYZERO, etc.,
if not already defined.
This commit is contained in:
parent
77145bf678
commit
551019baf6
3
ANNOUNCE
3
ANNOUNCE
@ -43,6 +43,9 @@ Version 1.6.14beta02 [September 18, 2014]
|
|||||||
at users.sourceforge.net").
|
at users.sourceforge.net").
|
||||||
|
|
||||||
Version 1.6.14beta03 [September 18, 2014]
|
Version 1.6.14beta03 [September 18, 2014]
|
||||||
|
Define FE_DIVBYZERO, FE_INVALID, and FE_OVERFLOW in pngvalid.c if not
|
||||||
|
already defined. Revert floating point exception handling to version
|
||||||
|
1.6.14beta01 behavior.
|
||||||
|
|
||||||
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
|
||||||
|
3
CHANGES
3
CHANGES
@ -4996,6 +4996,9 @@ Version 1.6.14beta02 [September 18, 2014]
|
|||||||
at users.sourceforge.net").
|
at users.sourceforge.net").
|
||||||
|
|
||||||
Version 1.6.14beta03 [September 18, 2014]
|
Version 1.6.14beta03 [September 18, 2014]
|
||||||
|
Define FE_DIVBYZERO, FE_INVALID, and FE_OVERFLOW in pngvalid.c if not
|
||||||
|
already defined. Revert floating point exception handling to version
|
||||||
|
1.6.14beta01 behavior.
|
||||||
|
|
||||||
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
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
/* pngvalid.c - validate libpng by constructing then reading png files.
|
/* pngvalid.c - validate libpng by constructing then reading png files.
|
||||||
*
|
*
|
||||||
* Last changed in libpng 1.6.10 [March 6, 2014]
|
* Last changed in libpng 1.6.14 [(PENDING RELEASE)]
|
||||||
* Copyright (c) 2014 Glenn Randers-Pehrson
|
* Copyright (c) 2014 Glenn Randers-Pehrson
|
||||||
* Written by John Cunningham Bowler
|
* Written by John Cunningham Bowler
|
||||||
*
|
*
|
||||||
@ -30,6 +30,20 @@
|
|||||||
# include <config.h>
|
# include <config.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_FEENABLEEXCEPT /* from config.h, if included */
|
||||||
|
# include <fenv.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef FE_DIVBYZERO
|
||||||
|
#define FE_DIVBYZERO 0
|
||||||
|
#endif
|
||||||
|
#ifndef FE_INVALID
|
||||||
|
#define FE_INVALID 0
|
||||||
|
#endif
|
||||||
|
#ifndef FE_OVERFLOW
|
||||||
|
#define FE_OVERFLOW 0
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Define the following to use this test against your installed libpng, rather
|
/* Define the following to use this test against your installed libpng, rather
|
||||||
* than the one being built here:
|
* than the one being built here:
|
||||||
*/
|
*/
|
||||||
@ -39,13 +53,6 @@
|
|||||||
# include "../../png.h"
|
# include "../../png.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef PNG_FLOATING_ARITHMETIC_SUPPORTED
|
|
||||||
# ifdef HAVE_FEENABLEEXCEPT /* from config.h, if included */
|
|
||||||
# include <fenv.h>
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef PNG_ZLIB_HEADER
|
#ifdef PNG_ZLIB_HEADER
|
||||||
# include PNG_ZLIB_HEADER
|
# include PNG_ZLIB_HEADER
|
||||||
#else
|
#else
|
||||||
@ -9979,11 +9986,9 @@ static void signal_handler(int signum)
|
|||||||
pos = safecat(msg, sizeof msg, pos, "abort");
|
pos = safecat(msg, sizeof msg, pos, "abort");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#ifdef PNG_FLOATING_ARITHMETIC_SUPPORTED
|
|
||||||
case SIGFPE:
|
case SIGFPE:
|
||||||
pos = safecat(msg, sizeof msg, pos, "floating point exception");
|
pos = safecat(msg, sizeof msg, pos, "floating point exception");
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
|
|
||||||
case SIGILL:
|
case SIGILL:
|
||||||
pos = safecat(msg, sizeof msg, pos, "illegal instruction");
|
pos = safecat(msg, sizeof msg, pos, "illegal instruction");
|
||||||
@ -10049,21 +10054,18 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
/* Add appropriate signal handlers, just the ANSI specified ones: */
|
/* Add appropriate signal handlers, just the ANSI specified ones: */
|
||||||
signal(SIGABRT, signal_handler);
|
signal(SIGABRT, signal_handler);
|
||||||
|
signal(SIGFPE, signal_handler);
|
||||||
signal(SIGILL, signal_handler);
|
signal(SIGILL, signal_handler);
|
||||||
signal(SIGINT, signal_handler);
|
signal(SIGINT, signal_handler);
|
||||||
signal(SIGSEGV, signal_handler);
|
signal(SIGSEGV, signal_handler);
|
||||||
signal(SIGTERM, signal_handler);
|
signal(SIGTERM, signal_handler);
|
||||||
|
|
||||||
#ifdef PNG_FLOATING_ARITHMETIC_SUPPORTED
|
|
||||||
signal(SIGFPE, signal_handler);
|
|
||||||
|
|
||||||
#ifdef HAVE_FEENABLEEXCEPT
|
#ifdef HAVE_FEENABLEEXCEPT
|
||||||
/* Only required to enable FP exceptions on platforms where they start off
|
/* Only required to enable FP exceptions on platforms where they start off
|
||||||
* disabled; this is not necessary but if it is not done pngvalid will likely
|
* disabled; this is not necessary but if it is not done pngvalid will likely
|
||||||
* end up ignoring FP conditions that other platforms fault.
|
* end up ignoring FP conditions that other platforms fault.
|
||||||
*/
|
*/
|
||||||
feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW);
|
feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW);
|
||||||
# endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
modifier_init(&pm);
|
modifier_init(&pm);
|
||||||
|
Loading…
Reference in New Issue
Block a user