From b0507e7678ba1277a32c80c29cd868216673a9fa Mon Sep 17 00:00:00 2001 From: KOBAYASHI Shuji Date: Tue, 15 Oct 2019 19:23:30 +0900 Subject: Adjust `buf` size in `str_escape` --- src/string.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/string.c b/src/string.c index e4b63a36d..d3774f8c4 100644 --- a/src/string.c +++ b/src/string.c @@ -1318,14 +1318,13 @@ str_replace_partial(mrb_state *mrb, mrb_value src, mrb_int pos, mrb_int end, mrb return src; } -#define CHAR_ESC_LEN 13 /* sizeof(\x{ hex of 32bit unsigned int } \0) */ #define IS_EVSTR(p,e) ((p) < (e) && (*(p) == '$' || *(p) == '@' || *(p) == '{')) static mrb_value str_escape(mrb_state *mrb, mrb_value str, mrb_bool inspect) { const char *p, *pend; - char buf[CHAR_ESC_LEN + 1]; + char buf[4]; /* `\x??` or UTF-8 character */ mrb_value result = mrb_str_new_lit(mrb, "\""); #ifdef MRB_UTF8_STRING uint32_t ascii_flag = MRB_STR_ASCII; -- cgit v1.2.3