summaryrefslogtreecommitdiffhomepage
path: root/src/symbol.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/symbol.c')
-rw-r--r--src/symbol.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/symbol.c b/src/symbol.c
index fd0b116bd..de2cc2881 100644
--- a/src/symbol.c
+++ b/src/symbol.c
@@ -401,7 +401,8 @@ sym_inspect(mrb_state *mrb, mrb_value sym)
sp = RSTRING_PTR(str);
RSTRING_PTR(str)[0] = ':';
memcpy(sp+1, name, len);
- if (!symname_p(name) || strlen(name) != len) {
+ mrb_assert(len > 0 && (size_t)len <= SIZE_MAX);
+ if (!symname_p(name) || strlen(name) != (size_t)len) {
str = mrb_str_dump(mrb, str);
sp = RSTRING_PTR(str);
sp[0] = ':';