summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Modules/posixmodule.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index a27a2af..50ee0e3 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -5777,7 +5777,7 @@ posix_fdopen(PyObject *self, PyObject *args)
if (flags != -1)
fcntl(fd, F_SETFL, flags | O_APPEND);
fp = fdopen(fd, mode);
- if (fp == NULL)
+ if (fp == NULL && flags != -1)
/* restore old mode if fdopen failed */
fcntl(fd, F_SETFL, flags);
} else {