summaryrefslogtreecommitdiffstats
path: root/marshal.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-04-10 23:10:49 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-04-10 23:10:49 +0000
commit2517defedafdb8b3e1bc9b77ed02c1684a8ab332 (patch)
tree89176ae821e80191a9a4de3891d21060f8d7896a /marshal.c
parent80400362a47f079afbe6fb613dc62a81cbb8ec4d (diff)
downloadruby-2517defedafdb8b3e1bc9b77ed02c1684a8ab332.tar.gz
ruby-2517defedafdb8b3e1bc9b77ed02c1684a8ab332.tar.xz
ruby-2517defedafdb8b3e1bc9b77ed02c1684a8ab332.zip
* marshal.c (w_object): add volatile to avoid potential GC bug. a
patch from Tomoyuki Chikanaga <chikanag at nippon-control-system.co.jp> in [ruby-dev:34311]. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'marshal.c')
-rw-r--r--marshal.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/marshal.c b/marshal.c
index bbe8ba0e2..723f8dde3 100644
--- a/marshal.c
+++ b/marshal.c
@@ -575,7 +575,7 @@ w_object(VALUE obj, struct dump_arg *arg, int limit)
if (OBJ_TAINTED(obj)) arg->taint = Qtrue;
if (rb_respond_to(obj, s_mdump)) {
- VALUE v;
+ volatile VALUE v;
st_add_direct(arg->data, obj, arg->data->num_entries);