From ff9582833d92521e2c724ca944c618974b0608d8 Mon Sep 17 00:00:00 2001 From: Tatsuhiko Kubo Date: Tue, 19 Aug 2014 17:34:19 +0900 Subject: Fix error hanldlings in read_irep_record(). read_irep_record_1() and read_irep_record() may return NULL. --- src/load.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/load.c') 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; irlen; 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; } -- cgit v1.2.3