- fixed missing checks for function calls from DECORATE

State functions could call ZScript code with incompatible self pointer, e.g. weapon's function could be called with self pointed to player pawn
DECORATE scripts that contain such errors are no longer accepted

https://forum.zdoom.org/viewtopic.php?t=66429
This commit is contained in:
alexey.lysiuk 2019-11-21 16:58:28 +02:00
parent 310459b490
commit cf8c05c9c4

View file

@ -510,7 +510,8 @@ static FxExpression *ParseExpression0 (FScanner &sc, PClassActor *cls)
sc.UnGet(); sc.UnGet();
ParseFunctionParameters(sc, cls, args, func, "", nullptr); ParseFunctionParameters(sc, cls, args, func, "", nullptr);
} }
return new FxVMFunctionCall(new FxSelf(sc), func, args, sc, false); // FxVMFunctionCall cannot be used here as it lacks some important checks
return new FxFunctionCall(identifier, NAME_None, args, sc);
} }
} }