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

@ -38,8 +38,10 @@ namespace TorqueScript
if (fileName)
fileName = StringTable->insert(fileName);
bool fileExec = Torque::FS::IsFile(fileName);
CodeBlock* newCodeBlock = new CodeBlock();
return (newCodeBlock->compileExec(fileName, string, false, fileName ? -1 : 0));
return (newCodeBlock->compileExec(fileName, string, false, fileExec ? -1 : 0));
}
Con::EvalResult TorqueScriptRuntime::evaluate(const char* script, S32 frame, bool echo, const char* fileName)