summaryrefslogtreecommitdiffhomepage
path: root/src/load.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-08-20 23:38:49 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-08-20 23:38:49 +0900
commite73a0913430fbffcf5ec741055dfdc6146fa743c (patch)
tree672bd9cb5d67c17023e39bdab72f625760cba24b /src/load.c
parentc7fda2232b690f5e68a5d1f72e9dc8cd21682703 (diff)
parent05ede52239fce58b6a8be4b72d51db10ae1c2632 (diff)
downloadmruby-e73a0913430fbffcf5ec741055dfdc6146fa743c.tar.gz
mruby-e73a0913430fbffcf5ec741055dfdc6146fa743c.zip
Merge branch 'cubicdaiya-issues/scope_new_error_handlings'
Diffstat (limited to 'src/load.c')
-rw-r--r--src/load.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/load.c b/src/load.c
index 0a1436c77..9e8325022 100644
--- a/src/load.c
+++ b/src/load.c
@@ -164,11 +164,18 @@ read_irep_record(mrb_state *mrb, const uint8_t *bin, size_t *len, mrb_bool alloc
mrb_irep *irep = read_irep_record_1(mrb, bin, len, alloc);
size_t i;
+ if (irep == NULL) {
+ return NULL;
+ }
+
bin += *len;
for (i=0; i<irep->rlen; i++) {
size_t rlen;
irep->reps[i] = read_irep_record(mrb, bin, &rlen, alloc);
+ if (irep->reps[i] == NULL) {
+ return NULL;
+ }
bin += rlen;
*len += rlen;
}