diff options
| author | dearblue <[email protected]> | 2021-06-26 10:59:39 +0900 |
|---|---|---|
| committer | dearblue <[email protected]> | 2021-06-26 10:59:39 +0900 |
| commit | cf38fc2f9ef0c1d3bc413bc0febe824d993431dd (patch) | |
| tree | a58321c9b863c88c9dde4e8cd2ef686556f8018f /mrbgems/mruby-eval | |
| parent | 5fc301f07d0ce26ab93ff237d15fa81894c9f1d6 (diff) | |
| download | mruby-cf38fc2f9ef0c1d3bc413bc0febe824d993431dd.tar.gz mruby-cf38fc2f9ef0c1d3bc413bc0febe824d993431dd.zip | |
Fix memory leak in `Kernel#eval`
The `mrbc_context` remained unreleased when the `mrb_parse_nstring()` function returned `NULL`.
Diffstat (limited to 'mrbgems/mruby-eval')
| -rw-r--r-- | mrbgems/mruby-eval/src/eval.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/mrbgems/mruby-eval/src/eval.c b/mrbgems/mruby-eval/src/eval.c index 66f4d5283..f1c5c475f 100644 --- a/mrbgems/mruby-eval/src/eval.c +++ b/mrbgems/mruby-eval/src/eval.c @@ -65,6 +65,7 @@ create_proc_from_string(mrb_state *mrb, const char *s, mrb_int len, mrb_value bi /* only occur when memory ran out */ if (!p) { + mrbc_context_free(mrb, cxt); mrb_raise(mrb, E_RUNTIME_ERROR, "Failed to create parser state (out of memory)"); } |
