[Win98 Setup Bug]
Bug DescriptionScriptBasic programs using external modules implementing external commands may use excess memory while running the interpreter.
NOTE: This use of excess memory is released when the interpreter finishes program execution, thus this is not a serious memory leak. This bug does not effect severely the memory management of variations of ScriptBasic embedding the interpreter into multi-thread environment.
Bug Reason, What Causes the BugWhen an external command is used the pointer pEo->pGlobalMortalList is set to point to NULL erroneously. This causes all temporary variable allocated in the external command unreleased when the external command returns.
SolutionThe function COMMAND_EXTERNAM in file commands/external.c has to be altered from
pEo->pGlobalMortalList = NULL;to
pEo->pGlobalMortalList = &_ThisCommandMortals;set the variables correct.
Bug Workaround Until Solution is AvailableThere is no workaround.
AcknowledgementMitchell Greess [email@example.com] has discovered this bug.