From 21ff1e26bbb807bc25303e70bb739cdc6e7ba51f Mon Sep 17 00:00:00 2001 From: cpusci Date: Sun, 4 Aug 2013 08:50:56 -0500 Subject: [PATCH] If you name a torque script object the same name as a Torque script class, you will get heap corruption with no warning at all. Changed original fix to cause a script error and reject object creation, instead of just renaming the object and moving along. --- Engine/source/console/compiledEval.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Engine/source/console/compiledEval.cpp b/Engine/source/console/compiledEval.cpp index e2cfcf280..6a2c01eac 100644 --- a/Engine/source/console/compiledEval.cpp +++ b/Engine/source/console/compiledEval.cpp @@ -650,6 +650,15 @@ breakContinue: // IF we aren't looking at a local/internal object, then check if // this object already exists in the global space + AbstractClassRep* rep = AbstractClassRep::findClassRep( objectName ); + if (rep != NULL) { + Con::errorf(ConsoleLogEntry::General, "%s: Cannot name object %s the same name as a script class.", + getFileLine(ip), objectName); + ip = failJump; + STR.popFrame(); + break; + } + SimObject *obj = Sim::findObject( objectName ); if (obj /*&& !obj->isLocalName()*/) {