diff --git a/Lib/subprocess.py b/Lib/subprocess.py index 18e9ed73a87..fcc3e6e3baa 100644 --- a/Lib/subprocess.py +++ b/Lib/subprocess.py @@ -1371,11 +1371,10 @@ class Popen(object): exception_name, hex_errno, err_msg = ( errpipe_data.split(b':', 2)) except ValueError: - warnings.warn(RuntimeWarning( - 'Bad exception data: %r' % errpipe_data)) exception_name = b'RuntimeError' hex_errno = b'0' - err_msg = b'Unknown' + err_msg = (b'Bad exception data from child: ' + + repr(errpipe_data)) child_exception_type = getattr( builtins, exception_name.decode('ascii'), RuntimeError) diff --git a/Misc/NEWS b/Misc/NEWS index 16bfb3019b8..49d6a1a3866 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -162,6 +162,9 @@ Core and Builtins Library ------- +- Remove a bare print to stdout from the subprocess module that could have + happened if the child process wrote garbage to its pre-exec error pipe. + - Issue #16327: The subprocess module no longer leaks file descriptors used for stdin/stdout/stderr pipes to the child when fork() fails.