summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2009-05-29 15:58:08 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2009-05-29 15:58:08 (GMT)
commit4f16d3b4ac92c93b2d8297cf62b1820603b67b55 (patch)
tree1f93327ab0944eaf51710bfe7c3d3bf208f011fe /Modules
parent3e3eace7d75b748254589b76970367588d320199 (diff)
downloadcpython-4f16d3b4ac92c93b2d8297cf62b1820603b67b55.zip
cpython-4f16d3b4ac92c93b2d8297cf62b1820603b67b55.tar.gz
cpython-4f16d3b4ac92c93b2d8297cf62b1820603b67b55.tar.bz2
Issue #4873: Fix resource leaks in error cases of pwd and grp.
Diffstat (limited to 'Modules')
-rw-r--r--Modules/grpmodule.c2
-rw-r--r--Modules/pwdmodule.c1
2 files changed, 2 insertions, 1 deletions
diff --git a/Modules/grpmodule.c b/Modules/grpmodule.c
index e5b9f47..ffb451e 100644
--- a/Modules/grpmodule.c
+++ b/Modules/grpmodule.c
@@ -76,7 +76,6 @@ mkgrent(struct group *p)
if (PyErr_Occurred()) {
Py_DECREF(v);
- Py_DECREF(w);
return NULL;
}
@@ -139,6 +138,7 @@ grp_getgrall(PyObject *self, PyObject *ignore)
if (v == NULL || PyList_Append(d, v) != 0) {
Py_XDECREF(v);
Py_DECREF(d);
+ endgrent();
return NULL;
}
Py_DECREF(v);
diff --git a/Modules/pwdmodule.c b/Modules/pwdmodule.c
index 9e01f48..a271c5a 100644
--- a/Modules/pwdmodule.c
+++ b/Modules/pwdmodule.c
@@ -160,6 +160,7 @@ pwd_getpwall(PyObject *self)
if (v == NULL || PyList_Append(d, v) != 0) {
Py_XDECREF(v);
Py_DECREF(d);
+ endpwent();
return NULL;
}
Py_DECREF(v);