diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-08-08-20-52-55.bpo-33989.TkLBui.rst b/Misc/NEWS.d/next/Core and Builtins/2018-08-08-20-52-55.bpo-33989.TkLBui.rst new file mode 100644 index 00000000000..056a71c480a --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2018-08-08-20-52-55.bpo-33989.TkLBui.rst @@ -0,0 +1,2 @@ +Fix a possible crash in :meth:`list.sort` when sorting objects with +``ob_type->tp_richcompare == NULL``. Patch by Zackery Spytz. diff --git a/Objects/listobject.c b/Objects/listobject.c index a08b3b50dd9..cbd6e81ea47 100644 --- a/Objects/listobject.c +++ b/Objects/listobject.c @@ -2334,6 +2334,9 @@ list_sort_impl(PyListObject *self, PyObject *keyfunc, int reverse) else if ((ms.key_richcompare = key_type->tp_richcompare) != NULL) { ms.key_compare = unsafe_object_compare; } + else { + ms.key_compare = safe_object_compare; + } } else { ms.key_compare = safe_object_compare;