summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-eval/src/eval.c
diff options
context:
space:
mode:
authorYusuke Endoh <[email protected]>2016-02-15 23:57:18 +0900
committerYusuke Endoh <[email protected]>2016-02-15 23:57:18 +0900
commit668cc1b43558a60785756370cc47b06c6ab42491 (patch)
tree1930ceda69ff8f9570e2f2527a7b8df04e9f2904 /mrbgems/mruby-eval/src/eval.c
parent74d52a11f2c88948c89b5ccd40c319d549082d50 (diff)
downloadmruby-668cc1b43558a60785756370cc47b06c6ab42491.tar.gz
mruby-668cc1b43558a60785756370cc47b06c6ab42491.zip
Fix segfault when `eval("__FILE__")` is executed
Diffstat (limited to 'mrbgems/mruby-eval/src/eval.c')
-rw-r--r--mrbgems/mruby-eval/src/eval.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/mrbgems/mruby-eval/src/eval.c b/mrbgems/mruby-eval/src/eval.c
index 7c5b08d1a..b3ac4c786 100644
--- a/mrbgems/mruby-eval/src/eval.c
+++ b/mrbgems/mruby-eval/src/eval.c
@@ -147,9 +147,11 @@ create_proc_from_string(mrb_state *mrb, char *s, int len, mrb_value binding, cha
cxt = mrbc_context_new(mrb);
cxt->lineno = line;
- if (file) {
- mrbc_filename(mrb, cxt, file);
+
+ if (!file) {
+ file = "(eval)";
}
+ mrbc_filename(mrb, cxt, file);
cxt->capture_errors = TRUE;
cxt->no_optimize = TRUE;