From 1849c11c9491a416129b0ec2751bae73a793db5b Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 29 Jun 2026 20:52:06 +1000 Subject: [PATCH] Allow error to be raised if PyDict_SetItemString fails --- src/_imagingmath.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/_imagingmath.c b/src/_imagingmath.c index c04361468ed..1fe517f0431 100644 --- a/src/_imagingmath.c +++ b/src/_imagingmath.c @@ -256,19 +256,19 @@ static PyMethodDef _functions[] = { static void install_unary(PyObject *d, char *name, void *func) { PyObject *v = PyCapsule_New(func, MATH_FUNC_UNOP_MAGIC, NULL); - if (!v || PyDict_SetItemString(d, name, v)) { - PyErr_Clear(); + if (v) { + PyDict_SetItemString(d, name, v); + Py_DECREF(v); } - Py_XDECREF(v); } static void install_binary(PyObject *d, char *name, void *func) { PyObject *v = PyCapsule_New(func, MATH_FUNC_BINOP_MAGIC, NULL); - if (!v || PyDict_SetItemString(d, name, v)) { - PyErr_Clear(); + if (v) { + PyDict_SetItemString(d, name, v); + Py_DECREF(v); } - Py_XDECREF(v); } static int