From 96c078c34029bbc525085c4072b7e1ebcc9ec5a3 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 11 Feb 2011 10:45:34 +0000 Subject: * eval.c (ruby_cleanup): use rb_ary_free to free internal object. * gc.h (RUBY_FREE_UNLESS_NULL): get rid of double free. [ruby-core:35192] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- gc.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gc.h') diff --git a/gc.h b/gc.h index e782ad44c7..df2cf7dd79 100644 --- a/gc.h +++ b/gc.h @@ -58,7 +58,7 @@ rb_gc_debug_body(const char *mode, const char *msg, int st, void *ptr) #endif #define RUBY_MARK_UNLESS_NULL(ptr) if(RTEST(ptr)){rb_gc_mark(ptr);} -#define RUBY_FREE_UNLESS_NULL(ptr) if(ptr){ruby_xfree(ptr);} +#define RUBY_FREE_UNLESS_NULL(ptr) if(ptr){ruby_xfree(ptr);(ptr)=NULL;} #if STACK_GROW_DIRECTION > 0 # define STACK_UPPER(x, a, b) (a) -- cgit v1.2.3