From 2f5a6cd9a4633c3870646b503ca97804cac8aad1 Mon Sep 17 00:00:00 2001 From: Jonathan Worthington Date: Mon, 17 Jul 2017 15:17:26 +0200 Subject: [PATCH] Ensure Scalar fetch can never return a NULL. --- src/vm/moar/ops/container.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/vm/moar/ops/container.c b/src/vm/moar/ops/container.c index f28e3b72b1f..309b5360867 100644 --- a/src/vm/moar/ops/container.c +++ b/src/vm/moar/ops/container.c @@ -12,7 +12,8 @@ static MVMCallsiteEntry tc_flags[] = { MVM_CALLSITE_ARG_OBJ, static MVMCallsite tc_callsite = { tc_flags, 3, 3, 3, 0 }; static void rakudo_scalar_fetch(MVMThreadContext *tc, MVMObject *cont, MVMRegister *res) { - res->o = ((Rakudo_Scalar *)cont)->value; + MVMObject *value = ((Rakudo_Scalar *)cont)->value; + res->o = value ? value : tc->instance->VMNull; } static void rakudo_scalar_fetch_i(MVMThreadContext *tc, MVMObject *cont, MVMRegister *res) {