From 7b49d9d92c48014108f884b41fdbb2bcced6b15f Mon Sep 17 00:00:00 2001 From: "alexey.lysiuk" Date: Sat, 20 Feb 2016 15:34:41 +0200 Subject: [PATCH] Fixed crash when accessing undefined user variable Presence of DECORATE user variable was not checked before attempting to read or write its value from ACS --- src/p_acs.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/p_acs.cpp b/src/p_acs.cpp index 7155c98e64..62118bd3f8 100644 --- a/src/p_acs.cpp +++ b/src/p_acs.cpp @@ -4564,13 +4564,13 @@ bool GetVarAddrType(AActor *self, FName varname, int index, void *&addr, PType * { PField *var = dyn_cast(self->GetClass()->Symbols.FindSymbol(varname, true)); PArray *arraytype; - BYTE *baddr = reinterpret_cast(self) + var->Offset; if (var == NULL || (var->Flags & VARF_Native)) { return false; } type = var->Type; + BYTE *baddr = reinterpret_cast(self) + var->Offset; arraytype = dyn_cast(type); if (arraytype != NULL) {