From 416b262343d63ddabd103b58f04e58243b681fac Mon Sep 17 00:00:00 2001 From: =?utf8?q?Martin=20v=2E=20L=C3=B6wis?= Date: Fri, 29 May 2009 16:00:23 +0000 Subject: [PATCH] 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. ........ --- Misc/NEWS | 5 +++++ Modules/grpmodule.c | 2 +- Modules/pwdmodule.c | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Misc/NEWS b/Misc/NEWS index 5b0f81841e..79d7f0e0b4 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -108,6 +108,11 @@ Library makeunicodedata.py and regenerated the Unicode database (This fixes u'\u1d79'.lower() == '\x00'). +Extension Modules +----------------- + +- Issue #4873: Fix resource leaks in error cases of pwd and grp. + Build ----- diff --git a/Modules/grpmodule.c b/Modules/grpmodule.c index e5b9f4708c..ffb451e174 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 9e01f48757..a271c5a82e 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); -- 2.50.1