Issue #22274: Redirect stderr=STDOUT when stdout not redirected, by Akira Li
diff --git a/Lib/subprocess.py b/Lib/subprocess.py
index 78189f4..70d129b3 100644
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
@@ -1142,7 +1142,10 @@
errread, errwrite = self.pipe_cloexec()
to_close.update((errread, errwrite))
elif stderr == STDOUT:
- errwrite = c2pwrite
+ if c2pwrite is not None:
+ errwrite = c2pwrite
+ else: # child's stdout is not set, use parent's stdout
+ errwrite = sys.__stdout__.fileno()
elif isinstance(stderr, int):
errwrite = stderr
else: