When PyInt_FromLong() returns NULL, you do not need to check
PyErr_Occurred(). Removed the extra test and setting of a
bogus exception.
diff --git a/Modules/pyexpat.c b/Modules/pyexpat.c
index 95a0980..ce66e5a 100644
--- a/Modules/pyexpat.c
+++ b/Modules/pyexpat.c
@@ -414,11 +414,9 @@
PyObject *str = NULL;
int len = -1;
- if ((bytes = PyInt_FromLong(buf_size)) == NULL) {
- if (!PyErr_Occurred())
- PyErr_SetNone(PyExc_EOFError);
+ if ((bytes = PyInt_FromLong(buf_size)) == NULL)
goto finally;
- }
+
if ((arg = PyTuple_New(1)) == NULL)
goto finally;