summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorKOBAYASHI Shuji <[email protected]>2019-10-15 19:23:30 +0900
committerKOBAYASHI Shuji <[email protected]>2019-10-15 19:23:30 +0900
commitb0507e7678ba1277a32c80c29cd868216673a9fa (patch)
tree4012ffc5df49bcbd2c60524889919ab15c4e6c6d
parentdc474b625be16520032999773f6ecf407de42a90 (diff)
downloadmruby-b0507e7678ba1277a32c80c29cd868216673a9fa.tar.gz
mruby-b0507e7678ba1277a32c80c29cd868216673a9fa.zip
Adjust `buf` size in `str_escape`
-rw-r--r--src/string.c3
1 files changed, 1 insertions, 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;