#11335: Fix memory leak when a sort key function throws an exception

This commit is contained in:
Daniel Stutzbach 2011-03-02 23:37:50 +00:00
parent 2f283c2c19
commit 8eda5f7cd9
2 changed files with 5 additions and 0 deletions

View File

@ -10,6 +10,9 @@ What's New in Python 3.3 Alpha 1?
Core and Builtins
-----------------
- Issue #11335: Fixed a memory leak in list.sort when the key function
throws an exception.
- Issue #8923: When a string is encoded to UTF-8 in strict mode, the result is
cached into the object. Examples: str.encode(), str.encode('utf-8'),
PyUnicode_AsUTF8String() and PyUnicode_AsEncodedString(unicode, "utf-8",

View File

@ -1957,6 +1957,8 @@ listsort(PyListObject *self, PyObject *args, PyObject *kwds)
if (keys[i] == NULL) {
for (i=i-1 ; i>=0 ; i--)
Py_DECREF(keys[i]);
if (keys != &ms.temparray[saved_ob_size+1])
PyMem_FREE(keys);
goto keyfunc_fail;
}
}