diff options
| author | dearblue <[email protected]> | 2020-09-24 22:25:26 +0900 |
|---|---|---|
| committer | dearblue <[email protected]> | 2020-09-25 21:02:58 +0900 |
| commit | 57611240a972932ef26a13c6998a7fa90fd33371 (patch) | |
| tree | a353c837094f8aab25a8e26474284ff78a151734 /mrbgems/mruby-eval | |
| parent | a97f085c52c3a98ffd26e69ac1fd0d43dc83864c (diff) | |
| download | mruby-57611240a972932ef26a13c6998a7fa90fd33371.tar.gz mruby-57611240a972932ef26a13c6998a7fa90fd33371.zip | |
Prohibit string changes by "s"/"z" specifier of `mrb_get_args()`
- The `s` specifier is a string pointer obtained without performing `mrb_str_modify()`, so it cannot be changed.
- The `z` specifier cannot be changed because it is a string pointer obtained by `RSTRING_CSTR()` which returns `const char *`.
Diffstat (limited to 'mrbgems/mruby-eval')
| -rw-r--r-- | mrbgems/mruby-eval/src/eval.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/mrbgems/mruby-eval/src/eval.c b/mrbgems/mruby-eval/src/eval.c index eaf07cabe..af6837b81 100644 --- a/mrbgems/mruby-eval/src/eval.c +++ b/mrbgems/mruby-eval/src/eval.c @@ -12,7 +12,7 @@ mrb_value mrb_obj_instance_eval(mrb_state *mrb, mrb_value self); void mrb_codedump_all(mrb_state*, struct RProc*); static struct RProc* -create_proc_from_string(mrb_state *mrb, char *s, mrb_int len, mrb_value binding, const char *file, mrb_int line) +create_proc_from_string(mrb_state *mrb, const char *s, mrb_int len, mrb_value binding, const char *file, mrb_int line) { mrbc_context *cxt; struct mrb_parser_state *p; @@ -131,10 +131,10 @@ exec_irep(mrb_state *mrb, mrb_value self, struct RProc *proc) static mrb_value f_eval(mrb_state *mrb, mrb_value self) { - char *s; + const char *s; mrb_int len; mrb_value binding = mrb_nil_value(); - char *file = NULL; + const char *file = NULL; mrb_int line = 1; struct RProc *proc; @@ -154,9 +154,9 @@ f_instance_eval(mrb_state *mrb, mrb_value self) mrb_get_args(mrb, "*!&", &argv, &argc, &b); if (mrb_nil_p(b)) { - char *s; + const char *s; mrb_int len; - char *file = NULL; + const char *file = NULL; mrb_int line = 1; mrb_value cv; struct RProc *proc; |
