diff -r bc1a178b3bc8 Objects/listobject.c --- a/Objects/listobject.c Sat Apr 18 05:54:02 2015 +0200 +++ b/Objects/listobject.c Sat Apr 18 06:29:02 2015 +0200 @@ -1961,8 +1961,10 @@ 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++) {