diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2023-08-08 19:03:38 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2023-08-08 19:03:38 +0900 |
commit | 72d1a790cfe0e4a457db98c587f1acaa5e39f001 (patch) | |
tree | 1c3429801afd1f8699eab29f61fe54f4695db41e /object.c | |
parent | 69292676a25a0e4bf1e80065737ad5cb42122c2a (diff) |
[Bug #19833] Fix index underflow at superclasses of `BasicObject`
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/8185
Diffstat (limited to 'object.c')
-rw-r--r-- | object.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -2165,6 +2165,10 @@ rb_class_superclass(VALUE klass) if (klass == rb_cBasicObject) return Qnil; rb_raise(rb_eTypeError, "uninitialized class"); } + + if (!RCLASS_SUPERCLASS_DEPTH(klass)) { + return Qnil; + } else { super = RCLASS_SUPERCLASSES(klass)[RCLASS_SUPERCLASS_DEPTH(klass) - 1]; RUBY_ASSERT(RB_TYPE_P(klass, T_CLASS)); |