]> granicus.if.org Git - python/commit
bpo-32844: Fix a subprocess misredirection of a low fd (GH5689)
authorAlexey Izbyshev <izbyshev@users.noreply.github.com>
Mon, 26 Mar 2018 19:49:35 +0000 (22:49 +0300)
committerGregory P. Smith <greg@krypto.org>
Mon, 26 Mar 2018 19:49:35 +0000 (12:49 -0700)
commit0e7144b064a19493a146af94175a087b3888c37b
tree6721ceebf7716c7e23266bee1935a7cf24881a3d
parentde7a2f04d6b9427d568fcb43b6f512f9b4c4bd84
bpo-32844: Fix a subprocess misredirection of a low fd (GH5689)

bpo-32844: subprocess: Fix a potential misredirection of a low fd to stderr.

When redirecting, subprocess attempts to achieve the following state:
each fd to be redirected to is less than or equal to the fd
it is redirected from, which is necessary because redirection
occurs in the ascending order of destination descriptors.
It fails to do so in a couple of corner cases,
for example, if 1 is redirected to 2 and 0 is closed in the parent.
Lib/test/test_subprocess.py
Misc/NEWS.d/next/Library/2018-02-28-13-08-00.bpo-32844.u8tnAe.rst [new file with mode: 0644]
Modules/_posixsubprocess.c