Commit df256bc
authored
fix: do not dup invalid file descriptor in compile method (#269)
When providing a file to the compile function, the PyObject_AsFileDescriptor
function is used, which is safe to use on any object type: if the object is
not a file, -1 is returned.
However, this value was passed straight to a call to dup() without checking
for its validity. This isn't much of an issue on unix where the dup call will
simply fail as well and return -1, but it is very much an issue on windows
where passing an invalid fd to dup will invoke the invalid parameter handler,
which isn't set, so it will simply terminate the program.
In other words, passing anything but a file to the file parameter
of the compile function will make the program crash on Windows.1 parent 03c802e commit df256bc
1 file changed
+2
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2816 | 2816 | | |
2817 | 2817 | | |
2818 | 2818 | | |
2819 | | - | |
| 2819 | + | |
2820 | 2820 | | |
2821 | 2821 | | |
2822 | 2822 | | |
2823 | 2823 | | |
2824 | | - | |
| 2824 | + | |
2825 | 2825 | | |
2826 | 2826 | | |
2827 | 2827 | | |
| |||
0 commit comments