UINT16_MAX as symbol length is reserved; ref #2294

parent 54c2dcf2
...@@ -43,7 +43,7 @@ sym_intern(mrb_state *mrb, const char *name, size_t len, mrb_bool lit) ...@@ -43,7 +43,7 @@ sym_intern(mrb_state *mrb, const char *name, size_t len, mrb_bool lit)
mrb_sym sym; mrb_sym sym;
char *p; char *p;
if (len > UINT16_MAX) { if (len > (UINT16_MAX-1)) { /* UINT16_MAX is reverved */
mrb_raise(mrb, E_ARGUMENT_ERROR, "symbol length too long"); mrb_raise(mrb, E_ARGUMENT_ERROR, "symbol length too long");
} }
sname.lit = lit; sname.lit = lit;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment