ruby-changes:33212
From: nobu <ko1@a...>
Date: Sat, 8 Mar 2014 13:47:02 +0900 (JST)
Subject: [ruby-changes:33212] nobu:r45291 (trunk): ext/dl, ext/fiddle: fix memory leak
nobu 2014-03-08 13:46:57 +0900 (Sat, 08 Mar 2014) New Revision: 45291 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=45291 Log: ext/dl, ext/fiddle: fix memory leak * ext/dl/cptr.c (dlptr_free), ext/dl/handle.c (dlhandle_free), ext/fiddle/handle.c (fiddle_handle_free), ext/fiddle/pointer.c (fiddle_ptr_free): fix memory leak. based on the patch Heesob Park at [ruby-dev:48021] [Bug #9599]. Modified files: trunk/ChangeLog trunk/ext/dl/cptr.c trunk/ext/dl/handle.c trunk/ext/fiddle/handle.c trunk/ext/fiddle/pointer.c Index: ChangeLog =================================================================== --- ChangeLog (revision 45290) +++ ChangeLog (revision 45291) @@ -1,3 +1,10 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1 +Sat Mar 8 13:46:40 2014 Nobuyoshi Nakada <nobu@r...> + + * ext/dl/cptr.c (dlptr_free), ext/dl/handle.c (dlhandle_free), + ext/fiddle/handle.c (fiddle_handle_free), + ext/fiddle/pointer.c (fiddle_ptr_free): fix memory leak. + based on the patch Heesob Park at [ruby-dev:48021] [Bug #9599]. + Sat Mar 8 13:30:39 2014 Nobuyoshi Nakada <nobu@r...> * process.c (obj2uid, obj2gid): now getpwnam_r() and getgrnam_r() Index: ext/dl/cptr.c =================================================================== --- ext/dl/cptr.c (revision 45290) +++ ext/dl/cptr.c (revision 45291) @@ -49,6 +49,7 @@ dlptr_free(void *ptr) https://github.com/ruby/ruby/blob/trunk/ext/dl/cptr.c#L49 (*(data->free))(data->ptr); } } + xfree(ptr); } static size_t Index: ext/dl/handle.c =================================================================== --- ext/dl/handle.c (revision 45290) +++ ext/dl/handle.c (revision 45291) @@ -38,6 +38,7 @@ dlhandle_free(void *ptr) https://github.com/ruby/ruby/blob/trunk/ext/dl/handle.c#L38 if( dlhandle->ptr && dlhandle->open && dlhandle->enable_close ){ dlclose(dlhandle->ptr); } + xfree(ptr); } static size_t Index: ext/fiddle/pointer.c =================================================================== --- ext/fiddle/pointer.c (revision 45290) +++ ext/fiddle/pointer.c (revision 45291) @@ -65,6 +65,7 @@ fiddle_ptr_free(void *ptr) https://github.com/ruby/ruby/blob/trunk/ext/fiddle/pointer.c#L65 (*(data->free))(data->ptr); } } + xfree(ptr); } static size_t Index: ext/fiddle/handle.c =================================================================== --- ext/fiddle/handle.c (revision 45290) +++ ext/fiddle/handle.c (revision 45291) @@ -40,6 +40,7 @@ fiddle_handle_free(void *ptr) https://github.com/ruby/ruby/blob/trunk/ext/fiddle/handle.c#L40 if( fiddle_handle->ptr && fiddle_handle->open && fiddle_handle->enable_close ){ dlclose(fiddle_handle->ptr); } + xfree(ptr); } static size_t -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/