summaryrefslogtreecommitdiff
path: root/object.c
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2023-08-08 19:03:38 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2023-08-08 19:03:38 +0900
commit72d1a790cfe0e4a457db98c587f1acaa5e39f001 (patch)
tree1c3429801afd1f8699eab29f61fe54f4695db41e /object.c
parent69292676a25a0e4bf1e80065737ad5cb42122c2a (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.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/object.c b/object.c
index 823b8df2cf..45a571adac 100644
--- a/object.c
+++ b/object.c
@@ -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));