summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Hammond <mhammond@skippinet.com.au>2001-01-31 05:38:47 +0000
committerMark Hammond <mhammond@skippinet.com.au>2001-01-31 05:38:47 +0000
commit64aae6695fa0f7677b94230540a298d686c071e3 (patch)
tree6f1ad781d8bc2940471da383df81b5714b3307b2
parent1ff31f9534aef77c6cccebd1cda1abff14b4ebe6 (diff)
downloadcpython-git-64aae6695fa0f7677b94230540a298d686c071e3.tar.gz
Fix Bug #125891 - os.popen2,3 and 4 leaked file objects on Windows.
-rw-r--r--Modules/posixmodule.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 99e5864b2c..9f44edc49c 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;
}