From 04394df74b3d0783893da7dafa7803a003516402 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Mon, 18 Nov 2019 17:39:48 +0100 Subject: bpo-38631: Avoid Py_FatalError() in float.__getformat__() (GH-17232) Replace Py_FatalError() with a regular RuntimeError exception in float.__getformat__(). --- .../next/Core and Builtins/2019-11-18-17-10-20.bpo-38631.tRHaAk.rst | 2 ++ Objects/floatobject.c | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2019-11-18-17-10-20.bpo-38631.tRHaAk.rst diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-11-18-17-10-20.bpo-38631.tRHaAk.rst b/Misc/NEWS.d/next/Core and Builtins/2019-11-18-17-10-20.bpo-38631.tRHaAk.rst new file mode 100644 index 0000000..d05ad05 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2019-11-18-17-10-20.bpo-38631.tRHaAk.rst @@ -0,0 +1,2 @@ +Replace ``Py_FatalError()`` call with a regular :exc:`RuntimeError` +exception in :meth:`float.__getformat__`. diff --git a/Objects/floatobject.c b/Objects/floatobject.c index 8c08866..3f9bbde 100644 --- a/Objects/floatobject.c +++ b/Objects/floatobject.c @@ -1726,7 +1726,8 @@ float___getformat___impl(PyTypeObject *type, const char *typestr) case ieee_big_endian_format: return PyUnicode_FromString("IEEE, big-endian"); default: - Py_FatalError("insane float_format or double_format"); + PyErr_SetString(PyExc_RuntimeError, + "insane float_format or double_format"); return NULL; } } -- cgit v0.12