ruby-changes:5015
From: ko1@a...
Date: Wed, 21 May 2008 23:32:00 +0900 (JST)
Subject: [ruby-changes:5015] nobu - Ruby:r16508 (ruby_1_8): * eval.c (rb_get_method_body, rb_alias, rb_eval): should not cache
nobu 2008-05-21 23:31:47 +0900 (Wed, 21 May 2008) New Revision: 16508 Modified files: branches/ruby_1_8/ChangeLog branches/ruby_1_8/eval.c Log: * eval.c (rb_get_method_body, rb_alias, rb_eval): should not cache uninitialized value, since search_method doesn't set origin if the method wasn't found. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ChangeLog?r1=16508&r2=16507&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/eval.c?r1=16508&r2=16507&diff_format=u Index: ruby_1_8/ChangeLog =================================================================== --- ruby_1_8/ChangeLog (revision 16507) +++ ruby_1_8/ChangeLog (revision 16508) @@ -1,5 +1,9 @@ -Wed May 21 23:29:52 2008 Nobuyoshi Nakada <nobu@r...> +Wed May 21 23:31:44 2008 Nobuyoshi Nakada <nobu@r...> + * eval.c (rb_get_method_body, rb_alias, rb_eval): should not cache + uninitialized value, since search_method doesn't set origin if the + method wasn't found. + * eval.c (search_method, remove_method, error_print, rb_alias) (rb_eval, rb_rescue2, search_required, Init_eval, rb_thread_create), gc.c (rb_source_filename, Init_stack), io.c (rb_io_getline), Index: ruby_1_8/eval.c =================================================================== --- ruby_1_8/eval.c (revision 16507) +++ ruby_1_8/eval.c (revision 16508) @@ -487,7 +487,7 @@ { ID id = *idp; VALUE klass = *klassp; - VALUE origin; + VALUE origin = 0; NODE * volatile body; struct cache_entry *ent; @@ -2161,7 +2161,7 @@ VALUE klass; ID name, def; { - VALUE origin; + VALUE origin = 0; NODE *orig, *body, *node; VALUE singleton = 0; st_data_t data; @@ -3921,7 +3921,7 @@ case NODE_DEFN: if (node->nd_defn) { NODE *body, *defn; - VALUE origin; + VALUE origin = 0; int noex; if (NIL_P(ruby_class)) { -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/