From bdbc613ccb334220f58d4a448d0a0801a28a5e28 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Wed, 22 Mar 2023 17:33:21 +0900 Subject: [PATCH] parse.y (mrbc_filename): should not raise exceptions --- mrbgems/mruby-compiler/core/parse.y | 3 ++- mrbgems/mruby-compiler/core/y.tab.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index ec973446c..62fe0a38c 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -6739,8 +6739,9 @@ mrbc_filename(mrb_state *mrb, mrbc_context *c, const char *s) { if (s) { size_t len = strlen(s); - char *p = (char*)mrb_malloc(mrb, len + 1); + char *p = (char*)mrb_malloc_simple(mrb, len + 1); + if (p == NULL) return NULL; memcpy(p, s, len + 1); if (c->filename) { mrb_free(mrb, c->filename); diff --git a/mrbgems/mruby-compiler/core/y.tab.c b/mrbgems/mruby-compiler/core/y.tab.c index ccc2fcd0f..56217ed16 100644 --- a/mrbgems/mruby-compiler/core/y.tab.c +++ b/mrbgems/mruby-compiler/core/y.tab.c @@ -13315,8 +13315,9 @@ mrbc_filename(mrb_state *mrb, mrbc_context *c, const char *s) { if (s) { size_t len = strlen(s); - char *p = (char*)mrb_malloc(mrb, len + 1); + char *p = (char*)mrb_malloc_simple(mrb, len + 1); + if (p == NULL) return NULL; memcpy(p, s, len + 1); if (c->filename) { mrb_free(mrb, c->filename);