summaryrefslogtreecommitdiffhomepage
path: root/src/load.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/load.c')
-rw-r--r--src/load.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/load.c b/src/load.c
index 2489f8e04..0bd7399ee 100644
--- a/src/load.c
+++ b/src/load.c
@@ -649,10 +649,12 @@ 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 = mrb_data_object_alloc(mrb, mrb->object_class, NULL, &tempirep_type);
+ struct RData *irep_obj;
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);