[pypy-svn] r78274 - pypy/branch/leak-finder-more/pypy/module/cpyext
afa at codespeak.net
afa at codespeak.net
Mon Oct 25 18:21:01 CEST 2010
Author: afa
Date: Mon Oct 25 18:20:59 2010
New Revision: 78274
Modified:
pypy/branch/leak-finder-more/pypy/module/cpyext/api.py
Log:
Fix memory leak when dlopen() fails.
Modified: pypy/branch/leak-finder-more/pypy/module/cpyext/api.py
==============================================================================
--- pypy/branch/leak-finder-more/pypy/module/cpyext/api.py (original)
+++ pypy/branch/leak-finder-more/pypy/module/cpyext/api.py Mon Oct 25 18:20:59 2010
@@ -908,8 +908,10 @@
from pypy.rlib import rdynload
try:
ll_libname = rffi.str2charp(path)
- dll = rdynload.dlopen(ll_libname)
- lltype.free(ll_libname, flavor='raw')
+ try:
+ dll = rdynload.dlopen(ll_libname)
+ finally:
+ lltype.free(ll_libname, flavor='raw')
except rdynload.DLOpenError, e:
raise operationerrfmt(
space.w_ImportError,
More information about the Pypy-commit
mailing list