]> granicus.if.org Git - python/commitdiff
call_find_module() handles dup() failure: raise an OSError exception
authorVictor Stinner <victor.stinner@haypocalc.com>
Mon, 20 Jun 2011 13:16:55 +0000 (15:16 +0200)
committerVictor Stinner <victor.stinner@haypocalc.com>
Mon, 20 Jun 2011 13:16:55 +0000 (15:16 +0200)
Python/import.c

index de5dc0ca41a924201f5810b37b43925de27cec18..19e975a593dcd80826cf458a7d32d53032b2a678 100644 (file)
@@ -3567,6 +3567,10 @@ call_find_module(PyObject *name, PyObject *path_list)
         if (fd != -1)
             fd = dup(fd);
         fclose(fp);
+        if (fd == -1) {
+            PyErr_SetFromErrno(PyExc_OSError);
+            return NULL;
+        }
         fp = NULL;
     }
     if (fd != -1) {