summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorMark Hammond <mhammond@skippinet.com.au>2001-01-31 05:38:47 (GMT)
committerMark Hammond <mhammond@skippinet.com.au>2001-01-31 05:38:47 (GMT)
commit64aae6695fa0f7677b94230540a298d686c071e3 (patch)
tree6f1ad781d8bc2940471da383df81b5714b3307b2 /Modules
parent1ff31f9534aef77c6cccebd1cda1abff14b4ebe6 (diff)
downloadcpython-64aae6695fa0f7677b94230540a298d686c071e3.zip
cpython-64aae6695fa0f7677b94230540a298d686c071e3.tar.gz
cpython-64aae6695fa0f7677b94230540a298d686c071e3.tar.bz2
Fix Bug #125891 - os.popen2,3 and 4 leaked file objects on Windows.
Diffstat (limited to 'Modules')
-rw-r--r--Modules/posixmodule.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 99e5864..9f44edc 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -2518,6 +2518,8 @@ _PyPopen(char *cmdstring, int mode, int n)
CloseHandle(hChildStderrRdDup);
f = Py_BuildValue("OO",p1,p2);
+ Py_XDECREF(p1);
+ Py_XDECREF(p2);
file_count = 2;
break;
}
@@ -2548,6 +2550,9 @@ _PyPopen(char *cmdstring, int mode, int n)
PyFile_SetBufSize(p2, 0);
PyFile_SetBufSize(p3, 0);
f = Py_BuildValue("OOO",p1,p2,p3);
+ Py_XDECREF(p1);
+ Py_XDECREF(p2);
+ Py_XDECREF(p3);
file_count = 3;
break;
}