mirror of
https://github.com/python/cpython.git
synced 2025-07-23 03:05:38 +00:00
SF bug #887946, segfault if redirecting directory
Also provide a warning if a directory is passed on the command line. Add minimal command line test. Will backport.
This commit is contained in:
parent
d157b1d237
commit
11bd119226
4 changed files with 70 additions and 0 deletions
|
@ -947,6 +947,15 @@ _PySys_Init(void)
|
|||
m = Py_InitModule3("sys", sys_methods, sys_doc);
|
||||
sysdict = PyModule_GetDict(m);
|
||||
|
||||
{
|
||||
/* XXX: does this work on Win/Win64? (see posix_fstat) */
|
||||
struct stat sb;
|
||||
if (fstat(fileno(stdin), &sb) == 0 &&
|
||||
S_ISDIR(sb.st_mode)) {
|
||||
Py_FatalError("<stdin> is a directory");
|
||||
}
|
||||
}
|
||||
|
||||
/* Closing the standard FILE* if sys.std* goes aways causes problems
|
||||
* for embedded Python usages. Closing them when somebody explicitly
|
||||
* invokes .close() might be possible, but the FAQ promises they get
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue