From 09f64aaaba1b83b977736ddde0f21bd90d298b61 Mon Sep 17 00:00:00 2001 From: Max Wash Date: Sat, 30 May 2026 20:18:24 +0100 Subject: [PATCH] runtime: scope: fix scope_set_block not handling NULL argument properly --- bshell.runtime/runtime/scope.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/bshell.runtime/runtime/scope.c b/bshell.runtime/runtime/scope.c index b3b0dc2..7617ca1 100644 --- a/bshell.runtime/runtime/scope.c +++ b/bshell.runtime/runtime/scope.c @@ -90,10 +90,25 @@ void bshell_runtime_scope_set_block( bshell_scriptblock_unref(scope->s_block); } - scope->s_block = bshell_scriptblock_ref(block); - scope->s_ip = 0; - bshell_scriptblock_get_text(block, &scope->s_instr, &scope->s_nr_instr); - bshell_scriptblock_get_pool(block, &scope->s_pool, &scope->s_nr_pool); + if (!block) { + scope->s_block = NULL; + scope->s_ip = 0; + scope->s_instr = NULL; + scope->s_nr_instr = 0; + scope->s_pool = NULL; + scope->s_nr_pool = 0; + } else { + scope->s_block = bshell_scriptblock_ref(block); + scope->s_ip = 0; + bshell_scriptblock_get_text( + block, + &scope->s_instr, + &scope->s_nr_instr); + bshell_scriptblock_get_pool( + block, + &scope->s_pool, + &scope->s_nr_pool); + } } fx_hashtable *bshell_runtime_scope_get_functions(