From 5073d14e280a82e4cb4e41692154de825b07b5e9 Mon Sep 17 00:00:00 2001 From: take_cheeze Date: Tue, 29 Apr 2014 22:06:59 +0900 Subject: Remove `lv_len` and use `nlocals - 1` instead. Check that `lv`'s length is always `nlocals - 1`. --- src/load.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/load.c') diff --git a/src/load.c b/src/load.c index 27832af3c..912a28218 100644 --- a/src/load.c +++ b/src/load.c @@ -408,11 +408,9 @@ read_lv_record(mrb_state *mrb, const uint8_t *start, mrb_irep *irep, size_t *rec size_t i; ptrdiff_t diff; - irep->lv_len = bin_to_uint16(bin); - bin += sizeof(uint16_t); - irep->lv = (struct mrb_locals*)mrb_malloc(mrb, sizeof(struct mrb_locals) * irep->lv_len); + irep->lv = (struct mrb_locals*)mrb_malloc(mrb, sizeof(struct mrb_locals) * (irep->nlocals - 1)); - for (i = 0; i < irep->lv_len; ++i) { + for (i = 0; i < (irep->nlocals - 1); ++i) { uint16_t const sym_idx = bin_to_uint16(bin); bin += sizeof(uint16_t); if (sym_idx >= syms_len) { -- cgit v1.2.3