From 5bc391e170dcfd6b5e49b95bf6482cd7b0311866 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 20 Mar 2025 22:03:30 +0900 Subject: [PATCH] mruby-io (mrb_file_basename): use mrb_str_cat() instead of snprintf(3) --- mrbgems/mruby-io/src/file.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mrbgems/mruby-io/src/file.c b/mrbgems/mruby-io/src/file.c index 3e2935e0e..3fe31fc00 100644 --- a/mrbgems/mruby-io/src/file.c +++ b/mrbgems/mruby-io/src/file.c @@ -245,7 +245,6 @@ mrb_file_basename(mrb_state *mrb, mrb_value klass) #if defined(_WIN32) char bname[_MAX_DIR]; char extname[_MAX_EXT]; - char buffer[_MAX_DIR + _MAX_EXT]; char *path; mrb_get_args(mrb, "z", &path); @@ -261,8 +260,9 @@ mrb_file_basename(mrb_state *mrb, mrb_value klass) } } _splitpath((const char*)path, NULL, NULL, bname, extname); - snprintf(buffer, _MAX_DIR + _MAX_EXT, "%s%s", bname, extname); - return mrb_str_new_cstr(mrb, buffer); + mrb_value buffer = mrb_str_new_cstr(mrb, bname); + mrb_str_cat_cstr(mrb, buffer, extname); + return buffer; #else char *path, *bname;