summaryrefslogtreecommitdiffhomepage
path: root/src/load.c
diff options
context:
space:
mode:
authordearblue <[email protected]>2019-08-18 14:45:35 +0900
committerdearblue <[email protected]>2019-08-18 15:00:32 +0900
commit279c21b816777b8b25457b27fd1994a9fe359a98 (patch)
treeb34cd6e85842f4fb96b4b596bf5a7c1e554bc0ca /src/load.c
parent83dab1ee0d0d3aa76e44f7fbf14360ee501be151 (diff)
downloadmruby-279c21b816777b8b25457b27fd1994a9fe359a98.tar.gz
mruby-279c21b816777b8b25457b27fd1994a9fe359a98.zip
Prohibit changes to iseq in principle
Diffstat (limited to 'src/load.c')
-rw-r--r--src/load.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/load.c b/src/load.c
index 97eafdbb5..2aa2c576f 100644
--- a/src/load.c
+++ b/src/load.c
@@ -102,8 +102,9 @@ read_irep_record_1(mrb_state *mrb, const uint8_t *bin, size_t *len, uint8_t flag
}
else {
size_t data_len = sizeof(mrb_code) * irep->ilen;
- irep->iseq = (mrb_code *)mrb_malloc(mrb, data_len);
- memcpy(irep->iseq, src, data_len);
+ void *buf = mrb_malloc(mrb, data_len);
+ irep->iseq = (mrb_code *)buf;
+ memcpy(buf, src, data_len);
src += data_len;
}
}