import.c now catchs _Py_stat() exceptions
_Py_stat() now returns -2 if an exception was raised.
diff --git a/Modules/zipimport.c b/Modules/zipimport.c
index fd89e9b..ed835c9 100644
--- a/Modules/zipimport.c
+++ b/Modules/zipimport.c
@@ -102,6 +102,8 @@
int rv;
rv = _Py_stat(filename, &statbuf);
+ if (rv == -2)
+ goto error;
if (rv == 0) {
/* it exists */
if (!S_ISREG(statbuf.st_mode))
@@ -109,8 +111,6 @@
Py_CLEAR(filename);
break;
}
- else if (PyErr_Occurred())
- goto error;
Py_CLEAR(filename);
/* back up one path element */
flen = PyUnicode_FindChar(path, SEP, 0, flen, -1);