[Python-checkins] r73018 - in python/branches/py3k: Misc/NEWS Modules/grpmodule.c Modules/pwdmodule.c

martin.v.loewis python-checkins at python.org
Fri May 29 18:01:34 CEST 2009


Author: martin.v.loewis
Date: Fri May 29 18:01:34 2009
New Revision: 73018

Log:
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.
........


Modified:
   python/branches/py3k/   (props changed)
   python/branches/py3k/Misc/NEWS
   python/branches/py3k/Modules/grpmodule.c
   python/branches/py3k/Modules/pwdmodule.c

Modified: python/branches/py3k/Misc/NEWS
==============================================================================
--- python/branches/py3k/Misc/NEWS	(original)
+++ python/branches/py3k/Misc/NEWS	Fri May 29 18:01:34 2009
@@ -108,6 +108,8 @@
 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

Modified: python/branches/py3k/Modules/grpmodule.c
==============================================================================
--- python/branches/py3k/Modules/grpmodule.c	(original)
+++ python/branches/py3k/Modules/grpmodule.c	Fri May 29 18:01:34 2009
@@ -79,7 +79,6 @@
 
     if (PyErr_Occurred()) {
         Py_DECREF(v);
-        Py_DECREF(w);
         return NULL;
     }
 
@@ -145,6 +144,7 @@
         if (v == NULL || PyList_Append(d, v) != 0) {
             Py_XDECREF(v);
             Py_DECREF(d);
+            endgrent();
             return NULL;
         }
         Py_DECREF(v);

Modified: python/branches/py3k/Modules/pwdmodule.c
==============================================================================
--- python/branches/py3k/Modules/pwdmodule.c	(original)
+++ python/branches/py3k/Modules/pwdmodule.c	Fri May 29 18:01:34 2009
@@ -175,6 +175,7 @@
 		if (v == NULL || PyList_Append(d, v) != 0) {
 			Py_XDECREF(v);
 			Py_DECREF(d);
+			endpwent();
 			return NULL;
 		}
 		Py_DECREF(v);


More information about the Python-checkins mailing list