SF patch 703666: Several objects don't decref tmp on failure in subtype_new
Submitted By: Christopher A. Craig
Fillin some missing decrefs.
diff --git a/Objects/floatobject.c b/Objects/floatobject.c
index f36479f..9ed53e2 100644
--- a/Objects/floatobject.c
+++ b/Objects/floatobject.c
@@ -751,8 +751,10 @@
return NULL;
assert(PyFloat_CheckExact(tmp));
new = type->tp_alloc(type, 0);
- if (new == NULL)
+ if (new == NULL) {
+ Py_DECREF(tmp);
return NULL;
+ }
((PyFloatObject *)new)->ob_fval = ((PyFloatObject *)tmp)->ob_fval;
Py_DECREF(tmp);
return new;