complex_new(): This could leak when the argument was neither string nor

number.  This accounts for the 2 refcount leaks per test_complex run
Michael Hudson discovered (I figured only I would have the stomach to
look for leaks in floating-point code <wink>).
This commit is contained in:
Tim Peters 2003-08-15 01:16:37 +00:00
parent 90b182c16c
commit 465fa3dac4
2 changed files with 6 additions and 0 deletions

View File

@ -12,6 +12,9 @@ What's New in Python 2.4 alpha 1?
Core and builtins
-----------------
- complex(obj) could leak a little memory if obj wasn't a string or
number.
- zip() with no arguments now returns an empty list instead of raising
a TypeError exception.

View File

@ -882,6 +882,9 @@ complex_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
((i != NULL) && (nbi == NULL || nbi->nb_float == NULL))) {
PyErr_SetString(PyExc_TypeError,
"complex() argument must be a string or a number");
if (own_r) {
Py_DECREF(r);
}
return NULL;
}
if (PyComplex_Check(r)) {