diff Python/import.c @ 70901:b4a7cd376d6f

call_find_module() handles dup() failure: raise an OSError exception
author Victor Stinner <victor.stinner@haypocalc.com>
date Mon, 20 Jun 2011 15:16:55 +0200
parents 7731d2ab4fd4
children aaab27d4c99c
line wrap: on
line diff
--- a/Python/import.c	Mon Jun 20 15:01:10 2011 +0200
+++ b/Python/import.c	Mon Jun 20 15:16:55 2011 +0200
@@ -3567,6 +3567,10 @@
         if (fd != -1)
             fd = dup(fd);
         fclose(fp);
+        if (fd == -1) {
+            PyErr_SetFromErrno(PyExc_OSError);
+            return NULL;
+        }
         fp = NULL;
     }
     if (fd != -1) {