fix potential refleak in PyFloat_AsDouble (closes #23590)
diff --git a/Objects/floatobject.c b/Objects/floatobject.c
index 2bec0fb..0ce7f6c 100644
--- a/Objects/floatobject.c
+++ b/Objects/floatobject.c
@@ -271,6 +271,7 @@
     if (fo == NULL)
         return -1;
     if (!PyFloat_Check(fo)) {
+        Py_DECREF(fo);
         PyErr_SetString(PyExc_TypeError,
                         "nb_float should return float object");
         return -1;