diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-03-04 22:45:44 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-03-04 22:45:44 +0900 |
| commit | 4f43db862a19df01720f72cc91925a497c7d7f45 (patch) | |
| tree | faf3162eee50f1d659a92e9385e3e50b775f030b /src | |
| parent | 3b40a2f6b56d9c81b7673cc50121a56ebf7dc8bd (diff) | |
| download | mruby-4f43db862a19df01720f72cc91925a497c7d7f45.tar.gz mruby-4f43db862a19df01720f72cc91925a497c7d7f45.zip | |
Unshare popped TT_ENV objects.
Diffstat (limited to 'src')
| -rw-r--r-- | src/vm.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -1676,6 +1676,9 @@ RETRY_TRY_BLOCK: ce = mrb->c->cibase + e->cioff; while (--ci > ce) { + if (ci->env) { + mrb_env_unshare(mrb, ci->env); + } if (ci->acc < 0) { localjump_error(mrb, LOCALJUMP_ERROR_RETURN); goto L_RAISE; @@ -1727,6 +1730,9 @@ RETRY_TRY_BLOCK: mrb->c->ci = ci; break; } + if (ci->env) { + mrb_env_unshare(mrb, ci->env); + } ci--; } break; |
