From 4affbf79ba624fe6861f955593dd0fe54b0a62a9 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Sun, 12 Apr 2026 11:47:30 +0900 Subject: [PATCH] Fixed the error message for `ibf_load_builtin` `ibf_load_ptr` returns a pointer to the loaded data without a NUL terminator. Like as the debug output above, the length of the loaded data must explicitly specified. --- compile.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compile.c b/compile.c index 68cf715c4efb5d..643ec11b40b48b 100644 --- a/compile.c +++ b/compile.c @@ -12920,7 +12920,8 @@ ibf_load_builtin(const struct ibf_load *load, ibf_offset_t *offset) const struct rb_builtin_function *table = GET_VM()->builtin_function_table; if (table == NULL) rb_raise(rb_eArgError, "builtin function table is not provided"); if (strncmp(table[i].name, name, len) != 0) { - rb_raise(rb_eArgError, "builtin function index (%d) mismatch (expect %s but %s)", i, name, table[i].name); + rb_raise(rb_eArgError, "builtin function index (%d) mismatch (expect %.*s but %s)", + i, len, name, table[i].name); } // fprintf(stderr, "load-builtin: name:%s(%d)\n", table[i].name, table[i].argc);