* class.c (rb_singleton_class_clone): Qnil must be used for a null

class reference when we use NIL_P() to check class reference
  validity.  The bug was exposed by the spec test of Sequel.

* eval.c (ruby_init): Use NEW_CREF().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@22679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
knu 2009-02-28 18:12:15 +00:00
parent 65564041fe
commit 5f7992aa35
3 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,11 @@
Sun Mar 1 03:04:19 2009 Akinori MUSHA <knu@iDaemons.org>
* class.c (rb_singleton_class_clone): Qnil must be used for a null
class reference when we use NIL_P() to check class reference
validity. The bug was exposed by the spec test of Sequel.
* eval.c (ruby_init): Use NEW_CREF().
Sat Feb 28 18:05:58 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval.c (rb_eval): needs to guard intermediate string objects.

View File

@ -153,7 +153,7 @@ rb_singleton_class_clone(obj)
data.klass = obj;
break;
default:
data.klass = 0;
data.klass = Qnil;
break;
}

2
eval.c
View File

@ -1434,7 +1434,7 @@ ruby_init()
rb_call_inits();
ruby_class = rb_cObject;
ruby_frame->self = ruby_top_self;
ruby_top_cref = rb_node_newnode(NODE_CREF,rb_cObject,0,0);
ruby_top_cref = NEW_CREF(rb_cObject, 0);
ruby_cref = ruby_top_cref;
rb_define_global_const("TOPLEVEL_BINDING", rb_f_binding(ruby_top_self));
#ifdef __MACOS__