diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2009-05-29 15:58:08 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2009-05-29 15:58:08 (GMT) |
commit | 4f16d3b4ac92c93b2d8297cf62b1820603b67b55 (patch) | |
tree | 1f93327ab0944eaf51710bfe7c3d3bf208f011fe /Modules | |
parent | 3e3eace7d75b748254589b76970367588d320199 (diff) | |
download | cpython-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.c | 2 | ||||
-rw-r--r-- | Modules/pwdmodule.c | 1 |
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); |