diff options
| author | Yukihiro Matsumoto <[email protected]> | 2012-05-29 09:31:12 +0900 |
|---|---|---|
| committer | Yukihiro Matsumoto <[email protected]> | 2012-05-29 09:31:12 +0900 |
| commit | 0dd5e0eba6806c8d16c1b38ba4e878455698d7e2 (patch) | |
| tree | 67abb08aed25e4f5868e6f27eeff36755a02a1f2 /src | |
| parent | d8cd21be45654ec3ec8a93ddd8826b409a107615 (diff) | |
| download | mruby-0dd5e0eba6806c8d16c1b38ba4e878455698d7e2.tar.gz mruby-0dd5e0eba6806c8d16c1b38ba4e878455698d7e2.zip | |
restore arena_idx after reading irep
Diffstat (limited to 'src')
| -rw-r--r-- | src/load.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/load.c b/src/load.c index af0e519bd..d3e492856 100644 --- a/src/load.c +++ b/src/load.c @@ -502,6 +502,7 @@ mrb_read_irep(mrb_state *mrb, const char *bin) uint32_t len = 0; unsigned char *src; rite_binary_header bin_header; + int ai = mrb->arena_idx; if ((mrb == NULL) || (bin == NULL)) { return MRB_DUMP_INVALID_ARGUMENT; @@ -539,6 +540,7 @@ mrb_read_irep(mrb_state *mrb, const char *bin) mrb->irep_len += nirep; error_exit: + mrb->arena_idx = ai; if (ret != MRB_DUMP_OK) { for (n=0,i=sirep; n<nirep; n++,i++) { if (mrb->irep[i]) { |
