Check return value of fstat() in _PyImport_GetDynLoadFunc()
CID 486250
diff --git a/Python/dynload_shlib.c b/Python/dynload_shlib.c
index 0ca65c7..e220b21 100644
--- a/Python/dynload_shlib.c
+++ b/Python/dynload_shlib.c
@@ -90,7 +90,9 @@
if (fp != NULL) {
int i;
struct stat statb;
- fstat(fileno(fp), &statb);
+ if (fstat(fileno(fp), &statb) == -1) {
+ return PyErr_SetFromErrno(PyExc_IOError);
+ }
for (i = 0; i < nhandles; i++) {
if (statb.st_dev == handles[i].dev &&
statb.st_ino == handles[i].ino) {