[pypy-svn] r61957 - pypy/trunk/pypy/rlib

afa at codespeak.net afa at codespeak.net
Tue Feb 17 00:19:07 CET 2009


Author: afa
Date: Tue Feb 17 00:19:06 2009
New Revision: 61957

Modified:
   pypy/trunk/pypy/rlib/rwin32.py
Log:
Correct a memory leak in rwin32.GetModuleFileName


Modified: pypy/trunk/pypy/rlib/rwin32.py
==============================================================================
--- pypy/trunk/pypy/rlib/rwin32.py	(original)
+++ pypy/trunk/pypy/rlib/rwin32.py	Tue Feb 17 00:19:06 2009
@@ -109,8 +109,11 @@
     def GetModuleFileName(module):
         size = 255 # MAX_PATH
         buf = lltype.malloc(rffi.CCHARP.TO, size, flavor='raw')
-        res = _GetModuleFileName(module, buf, size)
-        if not res:
-            return ''
-        else:
-            return ''.join([buf[i] for i in range(res)])
+        try:
+            res = _GetModuleFileName(module, buf, size)
+            if not res:
+                return ''
+            else:
+                return ''.join([buf[i] for i in range(res)])
+        finally:
+            lltype.free(buf, flavor='raw')



More information about the Pypy-commit mailing list