From 2daf1987f9b8364bfb464bf1fb335b68b54b6396 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 26 Nov 2020 09:04:30 +0900 Subject: Avoid memory leak when `mrb_read_irep()` fails. --- src/load.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/load.c b/src/load.c index 0bd7399ee..23e11d331 100644 --- a/src/load.c +++ b/src/load.c @@ -649,12 +649,11 @@ load_irep(mrb_state *mrb, mrb_irep *irep, mrbc_context *c) MRB_API mrb_value mrb_load_irep_cxt(mrb_state *mrb, const uint8_t *bin, mrbc_context *c) { - struct RData *irep_obj; + struct RData *irep_obj = mrb_data_object_alloc(mrb, mrb->object_class, NULL, &tempirep_type); mrb_irep *irep = mrb_read_irep(mrb, bin); mrb_value ret; if (!irep) return mrb_undef_value(); - irep_obj = mrb_data_object_alloc(mrb, mrb->object_class, NULL, &tempirep_type); irep_obj->data = irep; mrb_irep_incref(mrb, irep); ret = load_irep(mrb, irep, c); -- cgit v1.2.3