From b54449450a7ac8a8ebd1d4b81766e86a3f2dbca5 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Mon, 18 Nov 2019 17:05:04 +0100 Subject: [PATCH] bpo-38631: Avoid Py_FatalError() in float.__getformat__() Replace Py_FatalError() with a regular RuntimeError exception in float.__getformat__(). --- .../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 000000000000000..d05ad05941ecf79 --- /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 8c08866d7372530..3f9bbde2abe03f5 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; } }