[前][次][番号順一覧][スレッド一覧]

ruby-changes:18633

From: nagachika <ko1@a...>
Date: Wed, 26 Jan 2011 22:34:35 +0900 (JST)
Subject: [ruby-changes:18633] Ruby:r30657 (trunk): * vm_eval.c (rb_throw_obj): add GC guard to prevent intermediate

nagachika	2011-01-26 22:34:20 +0900 (Wed, 26 Jan 2011)

  New Revision: 30657

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=30657

  Log:
    * vm_eval.c (rb_throw_obj): add GC guard to prevent intermediate
      variable from GC. [Bug #4322] [ruby-dev:43108]

  Modified files:
    trunk/ChangeLog
    trunk/vm_eval.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 30656)
+++ ChangeLog	(revision 30657)
@@ -1,3 +1,8 @@
+Wed Jan 26 22:28:49 2011  CHIKANAGA Tomoyuki  <nagachika00@g...>
+
+	* vm_eval.c (rb_throw_obj): add GC guard to prevent intermediate
+	  variable from GC. [Bug #4322] [ruby-dev:43108]
+
 Wed Jan 26 17:08:59 2011  NAKAMURA, Hiroshi  <nahi@r...>
 
 	* ext/openssl/ossl_asn1.c (ossl_asn1_decode0): OpenSSL::ASN1.decode
Index: vm_eval.c
===================================================================
--- vm_eval.c	(revision 30656)
+++ vm_eval.c	(revision 30657)
@@ -1438,6 +1438,7 @@
     }
     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();

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]