summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2015-04-23 17:06:45 -0400
committerBenjamin Peterson <benjamin@python.org>2015-04-23 17:06:45 -0400
commita30e2256f70bd43255e8dae6459c70540f118b62 (patch)
treef16541ea402882378ae4b6153d2db9d15b63303c
parentc314e28766fb58451488b38abdabc6161715e407 (diff)
parentbd91ee9cd78ac41ae37ffb06c4d711848cdf4bb0 (diff)
downloadcpython-git-a30e2256f70bd43255e8dae6459c70540f118b62.tar.gz
merge 3.4 (#24044)
-rw-r--r--Misc/NEWS3
-rw-r--r--Objects/listobject.c6
2 files changed, 7 insertions, 2 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index 974e9ca9aa..4f702d05c2 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -78,6 +78,9 @@ Core and Builtins
- Issue #23466: %c, %o, %x, and %X in bytes formatting now raise TypeError on
non-integer input.
+- Issue #24044: Fix possible null pointer dereference in list.sort in out of
+ memory conditions.
+
Library
-------
diff --git a/Objects/listobject.c b/Objects/listobject.c
index 8f88d18788..45e54ce31d 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -1961,8 +1961,10 @@ listsort(PyListObject *self, PyObject *args, PyObject *kwds)
keys = &ms.temparray[saved_ob_size+1];
else {
keys = PyMem_MALLOC(sizeof(PyObject *) * saved_ob_size);
- if (keys == NULL)
- return NULL;
+ if (keys == NULL) {
+ PyErr_NoMemory();
+ goto keyfunc_fail;
+ }
}
for (i = 0; i < saved_ob_size ; i++) {