diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2019-04-14 20:36:05 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-04-14 20:36:05 +0900 |
| commit | 6ad89d30d22021e15e9a0ed8e26f5db53fada4d5 (patch) | |
| tree | f1a6eb7f52b372685cfe2d8f899ceba492f86bcd /src | |
| parent | e74a8a7360bea3572e7bed42ea9ca5b7522e08c8 (diff) | |
| parent | d8527d17ea504aebcdbd3970127899e0216d46dc (diff) | |
| download | mruby-6ad89d30d22021e15e9a0ed8e26f5db53fada4d5.tar.gz mruby-6ad89d30d22021e15e9a0ed8e26f5db53fada4d5.zip | |
Merge pull request #4377 from dearblue/wrong-iv-size
Fix wrong size of instance variable if occur out of memory
Diffstat (limited to 'src')
| -rw-r--r-- | src/variable.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/variable.c b/src/variable.c index f97b09c52..983fe52f7 100644 --- a/src/variable.c +++ b/src/variable.c @@ -79,19 +79,19 @@ iv_put(mrb_state *mrb, iv_tbl *t, mrb_sym sym, mrb_value val) } /* Not found */ - t->size++; if (matched_seg) { matched_seg->key[matched_idx] = sym; matched_seg->val[matched_idx] = val; + t->size++; return; } seg = (segment*)mrb_malloc(mrb, sizeof(segment)); - if (!seg) return; seg->next = NULL; seg->key[0] = sym; seg->val[0] = val; t->last_len = 1; + t->size++; if (prev) { prev->next = seg; } |
