summaryrefslogtreecommitdiff
path: root/vm_eval.c
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-02-18 10:43:34 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-02-18 10:43:34 +0000
commita474c66f46368ad1ca68f21e89c3bb500daa79bc (patch)
tree2a798195486e0707806348c08192216bad59d1a6 /vm_eval.c
parent25394cb929c8ddcfa976b7baef74f0e2f1edf12b (diff)
merges r30657 from trunk into ruby_1_9_2.
-- * vm_eval.c (rb_throw_obj): add GC guard to prevent intermediate variable from GC. [Bug #4322] [ruby-dev:43108] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_eval.c')
-rw-r--r--vm_eval.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/vm_eval.c b/vm_eval.c
index b0718ab5f3..0afbd285d9 100644
--- a/vm_eval.c
+++ b/vm_eval.c
@@ -1437,6 +1437,7 @@ rb_throw_obj(VALUE tag, VALUE value)
}
if (!tt) {
VALUE desc = rb_inspect(tag);
+ RB_GC_GUARD(desc);
rb_raise(rb_eArgError, "uncaught throw %s", RSTRING_PTR(desc));
}
rb_trap_restore_mask();