mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
symbol.c (sym_intern): check NUL before calling strlen()
To avoid accidental buffer overrun if a string without NUL termination is provided.
This commit is contained in:
+1
-1
@@ -207,7 +207,7 @@ sym_intern(mrb_state *mrb, const char *name, size_t len, mrb_bool lit)
|
||||
mrb->symcapa = symcapa;
|
||||
}
|
||||
sym_flags_clear(mrb, sym);
|
||||
if ((lit || mrb_ro_data_p(name)) && strlen(name) == len) {
|
||||
if ((lit || mrb_ro_data_p(name)) && name[len] == 0 && strlen(name) == len) {
|
||||
sym_lit_set(mrb, sym);
|
||||
mrb->symtbl[sym] = name;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user