diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2016-12-05 16:51:46 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2016-12-05 16:51:46 +0900 |
| commit | 6ec14a21739b2088a66f4532f1b35e67e6e6906f (patch) | |
| tree | 6129314eb060a2ca1bfc1f9cbb77a8dec20397c4 | |
| parent | 43512cc7bdb4949a24e310aa03e67a95c59b5f1b (diff) | |
| parent | 7d07466b437910d560fda2f78d2f7b93205eaa22 (diff) | |
| download | mruby-6ec14a21739b2088a66f4532f1b35e67e6e6906f.tar.gz mruby-6ec14a21739b2088a66f4532f1b35e67e6e6906f.zip | |
Merge pull request #3318 from bouk/splat-stack
Fix stack move segfaulting in OP_ARYCAT
| -rw-r--r-- | src/vm.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -2161,8 +2161,8 @@ RETRY_TRY_BLOCK: CASE(OP_ARYCAT) { /* A B mrb_ary_concat(R(A),R(B)) */ - mrb_ary_concat(mrb, regs[GETARG_A(i)], - mrb_ary_splat(mrb, regs[GETARG_B(i)])); + mrb_value splat = mrb_ary_splat(mrb, regs[GETARG_B(i)]); + mrb_ary_concat(mrb, regs[GETARG_A(i)], splat); ARENA_RESTORE(mrb, ai); NEXT; } |
