diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2009-05-29 16:01:34 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2009-05-29 16:01:34 (GMT) |
commit | e23c8683a5e11307e4a3528826e0b84fa3fb5660 (patch) | |
tree | aba54bc3c3ab191bd548e45160de84e8af81db74 | |
parent | b6a748b817205413ac75ccee5f9b4728b5ea3b2d (diff) | |
download | cpython-e23c8683a5e11307e4a3528826e0b84fa3fb5660.zip cpython-e23c8683a5e11307e4a3528826e0b84fa3fb5660.tar.gz cpython-e23c8683a5e11307e4a3528826e0b84fa3fb5660.tar.bz2 |
Merged revisions 73016 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r73016 | martin.v.loewis | 2009-05-29 17:58:08 +0200 (Fr, 29 Mai 2009) | 2 lines
Issue #4873: Fix resource leaks in error cases of pwd and grp.
........
-rw-r--r-- | Misc/NEWS | 2 | ||||
-rw-r--r-- | Modules/grpmodule.c | 2 | ||||
-rw-r--r-- | Modules/pwdmodule.c | 1 |
3 files changed, 4 insertions, 1 deletions
@@ -108,6 +108,8 @@ Installation Extension Modules ----------------- +- Issue #4873: Fix resource leaks in error cases of pwd and grp. + - Issue #6093: Fix off-by-one error in locale.strxfrm. - The _functools and _locale modules are now built into the libpython shared diff --git a/Modules/grpmodule.c b/Modules/grpmodule.c index e642731..0dcef06 100644 --- a/Modules/grpmodule.c +++ b/Modules/grpmodule.c @@ -79,7 +79,6 @@ mkgrent(struct group *p) if (PyErr_Occurred()) { Py_DECREF(v); - Py_DECREF(w); return NULL; } @@ -145,6 +144,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 5802818..1547cdf 100644 --- a/Modules/pwdmodule.c +++ b/Modules/pwdmodule.c @@ -175,6 +175,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); |