diff options
| author | Yusuke Endoh <[email protected]> | 2016-02-15 23:57:18 +0900 |
|---|---|---|
| committer | Yusuke Endoh <[email protected]> | 2016-02-15 23:57:18 +0900 |
| commit | 668cc1b43558a60785756370cc47b06c6ab42491 (patch) | |
| tree | 1930ceda69ff8f9570e2f2527a7b8df04e9f2904 /mrbgems/mruby-eval/src/eval.c | |
| parent | 74d52a11f2c88948c89b5ccd40c319d549082d50 (diff) | |
| download | mruby-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.c | 6 |
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; |
