Skip to content

Commit ebabe67

Browse files
committed
rb_imemo_class_fields_ptr handle empty fields
1 parent 4cf1b82 commit ebabe67

2 files changed

Lines changed: 4 additions & 2 deletions

File tree

gc.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3813,7 +3813,6 @@ update_classext(rb_classext_t *ext, bool is_prime, VALUE namespace, void *arg)
38133813

38143814
update_m_tbl(objspace, RCLASSEXT_M_TBL(ext));
38153815

3816-
38173816
if (ext->fields_obj) {
38183817
UPDATE_IF_MOVED(objspace, ext->fields_obj);
38193818

internal/imemo.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,10 @@ VALUE rb_imemo_class_fields_new_complex(VALUE klass, st_table *tbl);
284284
static inline VALUE *
285285
rb_imemo_class_fields_ptr(VALUE obj_fields)
286286
{
287-
RUBY_ASSERT(obj_fields);
287+
if (!obj_fields) {
288+
return NULL;
289+
}
290+
288291
RUBY_ASSERT(IMEMO_TYPE_P(obj_fields, imemo_class_fields));
289292

290293
if (RB_UNLIKELY(FL_TEST_RAW(obj_fields, OBJ_FIELD_EXTERNAL))) {

0 commit comments

Comments
 (0)