summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-eval
diff options
context:
space:
mode:
authordearblue <[email protected]>2020-09-24 22:25:26 +0900
committerdearblue <[email protected]>2020-09-25 21:02:58 +0900
commit57611240a972932ef26a13c6998a7fa90fd33371 (patch)
treea353c837094f8aab25a8e26474284ff78a151734 /mrbgems/mruby-eval
parenta97f085c52c3a98ffd26e69ac1fd0d43dc83864c (diff)
downloadmruby-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.c10
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;