summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-07-15 14:46:44 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-07-15 14:46:44 +0000
commitd9418513d325e9251c6a54e9fac0cfb38753c127 (patch)
tree8f50e6965eaf33f35efaafe51351cfe3b6f5d5d2
parent9f6fecbeca4ed3baead52c1ae990a11f155803f4 (diff)
downloadruby-d9418513d325e9251c6a54e9fac0cfb38753c127.tar.gz
ruby-d9418513d325e9251c6a54e9fac0cfb38753c127.tar.xz
ruby-d9418513d325e9251c6a54e9fac0cfb38753c127.zip
* dir.c (push_glob): fix GC problem.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--dir.c1
2 files changed, 5 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index ab4194d33..cd156b0a6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Wed Jul 15 23:45:11 2009 Koichi Sasada <ko1@atdot.net>
+
+ * dir.c (push_glob): fix GC problem.
+
Wed Jul 15 17:33:52 2009 Yuki Sonoda (Yugui) <yugui@yugui.jp>
* ext/purelib.rb: translates a fake path to rubygems in $" into
diff --git a/dir.c b/dir.c
index 76c926478..d438a492a 100644
--- a/dir.c
+++ b/dir.c
@@ -1561,6 +1561,7 @@ push_glob(VALUE ary, VALUE str, int flags)
{
struct glob_args args;
rb_encoding *enc = rb_enc_get(str);
+ volatile VALUE vstr = str; /* for GC mark */
if (enc == rb_usascii_encoding()) enc = rb_filesystem_encoding();
args.func = push_pattern;