From 5422161026d4b08f94bdfa39f6dcd266696de64c Mon Sep 17 00:00:00 2001 From: naruse Date: Sat, 12 Jun 2010 15:28:40 +0000 Subject: [PATCH] * ext/fiddle/closure.c (dealloc): workaround fix for libffi's ffi_closure_free. [ruby-dev:41483] [ruby-dev:41214] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ ext/fiddle/closure.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/ChangeLog b/ChangeLog index 1f84caa708..9503a99c7c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sun Jun 13 00:02:56 2010 NARUSE, Yui + + * ext/fiddle/closure.c (dealloc): workaround fix for libffi's + ffi_closure_free. [ruby-dev:41483] [ruby-dev:41214] + Sat Jun 12 10:02:26 2010 Yukihiro Matsumoto * io.c (rb_f_syscall): should check argument string taint before diff --git a/ext/fiddle/closure.c b/ext/fiddle/closure.c index 2531ef2b48..3dc8eda013 100644 --- a/ext/fiddle/closure.c +++ b/ext/fiddle/closure.c @@ -14,11 +14,15 @@ static void dealloc(void * ptr) { fiddle_closure * cls = (fiddle_closure *)ptr; + /* #ifndef MACOSX ffi_closure_free(cls->pcl); #else + */ munmap(cls->pcl, sizeof(cls->pcl)); + /* #endif + */ xfree(cls->cif); if (cls->argv) xfree(cls->argv); xfree(cls);