context safties

and from Marauder, hardened filename entry for con::evaluate/compileexec. if the string forwarded along is not a real filename, consider it an eval block
This commit is contained in:
AzaezelX 2026-03-02 11:38:20 -06:00
parent 19d8a5525d
commit 80f62573fe
8 changed files with 21 additions and 18 deletions

View file

@ -611,7 +611,7 @@ Con::EvalResult CodeBlock::compileExec(StringTableEntry fileName, const char *in
Script::gStatementList = NULL;
// we are an eval compile if we don't have a file name associated (no exec)
gIsEvalCompile = fileName == NULL;
gIsEvalCompile = fileName == NULL || setFrame == 0;
gFuncVars = gIsEvalCompile ? &gEvalFuncVars : &gGlobalScopeFuncVars;
// Set up the parser.