From 477b1e79b71af422136df29b259d9bb3ce8449e2 Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Thu, 18 Sep 2025 09:26:34 -0400 Subject: Directly use rb_imemo_new in imemo_fields_new_complex We should not assume that a complex imemo_field takes only one additional VALUE space. This is fragile as it will break if we add additional fields to complex imemo_field. --- imemo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'imemo.c') diff --git a/imemo.c b/imemo.c index 10ac960095..5a5ec4a4d3 100644 --- a/imemo.c +++ b/imemo.c @@ -123,7 +123,7 @@ rb_imemo_fields_new(VALUE owner, size_t capa) static VALUE imemo_fields_new_complex(VALUE owner, size_t capa) { - VALUE fields = imemo_fields_new(owner, 1); + VALUE fields = rb_imemo_new(imemo_fields, owner, sizeof(struct rb_fields)); IMEMO_OBJ_FIELDS(fields)->as.complex.table = st_init_numtable_with_size(capa); FL_SET_RAW(fields, OBJ_FIELD_HEAP); return fields; -- cgit v1.2.3