[Win98 Setup Bug]
Bug DescriptionWhen ScriptBasic builds up a string table it stores strings only once, even if the string appears in the source code more than once. When the string table storage was altered from zero terminated strings to length coded and zero terminated a programming error was made that causes ScriptBasic storing multiplied strings more than once. On some architectures this bug also caused the interpreter to crash. (Solaris)
Bug Reason, What Causes the BugWhen the string table is built up in function build_StringIndex the counter stepping along the string table is incremented by the length of the actual string but the extra terminating zero character was not counted.
SolutionThe extra line:
ulIndex += lLen; ulIndex++; /* step over the extra zchar at the end of the string */has to be inserted into the end of the loop in function build_StringIndex.
Bug Workaround Until Solution is AvailableOn Linux and Windows NT there is no need for workaround. On other platforms, like Solaris the patch has to be applied and the program recompiled. Note that the patch described in 2001/10/19-v1.0b26-br05, and 2001/10/19-v1.0b26-br06 also have to be applied.