Fix Bug #125891 - os.popen2,3 and 4 leaked file objects on Windows.
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 @@
CloseHandle(hChildStderrRdDup);
f = Py_BuildValue("OO",p1,p2);
+ Py_XDECREF(p1);
+ Py_XDECREF(p2);
file_count = 2;
break;
}
@@ -2548,6 +2550,9 @@
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;
}