From 87661039e7c9063a8d2b0d8b91f3d94682267a7e Mon Sep 17 00:00:00 2001 From: normal Date: Sun, 16 Feb 2014 05:53:14 +0000 Subject: [PATCH] dir.c (dir_s_glob): RB_GC_GUARD instead of volatile git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ dir.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index b2bbf79ac9..17215a1c9d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sun Feb 16 14:52:46 2014 Eric Wong + + * dir.c (dir_s_glob): RB_GC_GUARD instead of volatile + Sun Feb 16 14:33:52 2014 Tanaka Akira * include/ruby/ruby.h (RBIGNUM_SIGN): Defined for compatibility. diff --git a/dir.c b/dir.c index 4f62cb2125..f456e8b867 100644 --- a/dir.c +++ b/dir.c @@ -1912,8 +1912,9 @@ dir_s_glob(int argc, VALUE *argv, VALUE obj) ary = rb_push_glob(str, flags); } else { - volatile VALUE v = ary; + VALUE v = ary; ary = dir_globs(RARRAY_LEN(v), RARRAY_CONST_PTR(v), flags); + RB_GC_GUARD(v); } if (rb_block_given_p()) {