summaryrefslogtreecommitdiff
path: root/src/map/script-call.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/script-call.cpp')
-rw-r--r--src/map/script-call.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/map/script-call.cpp b/src/map/script-call.cpp
index d54e234..7c7d4e6 100644
--- a/src/map/script-call.cpp
+++ b/src/map/script-call.cpp
@@ -383,6 +383,9 @@ void pop_stack(struct script_stack *stack, int start, int end)
static
ByteCode get_com(ScriptPointer *script)
{
+ if (script == nullptr)
+ return ByteCode::NOP;
+
if (static_cast<uint8_t>(script->peek()) >= 0x80)
{
// synthetic! Does not advance pos yet.
@@ -742,10 +745,16 @@ void run_func(ScriptState *st)
static
void run_script_main(ScriptState *st, Borrowed<const ScriptBuffer> rootscript)
{
+ if (st == nullptr)
+ return;
+
int cmdcount = script_config.check_cmdcount;
int gotocount = script_config.check_gotocount;
struct script_stack *stack = st->stack;
+ if (stack == nullptr)
+ return;
+
st->defsp = stack->stack_datav.size();
int rerun_pos = st->scriptp.pos;