In PyNumber_ToBase, changed from an assert to returning an error when PyObject_Index() returns something other than an int or long. It should never be possible to trigger this, as PyObject_Index checks to make sure it returns an int or long.
diff --git a/Objects/abstract.c b/Objects/abstract.c
index 93d73bb..a377e76 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -1275,7 +1275,11 @@
else if (PyInt_Check(index))
res = _PyInt_Format((PyIntObject*)index, base, 1);
else
- assert("PyNumber_ToBase: not long or int");
+ /* It should not be possible to get here, as
+ PyNumber_Index already has a check for the same
+ condition */
+ PyErr_SetString(PyExc_ValueError, "PyNumber_ToBase: index not "
+ "int or long");
Py_DECREF(index);
return res;
}