Bug Report 2001/10/19-v1.0b26-br04


[MAIN]
[News]
[Intro]
[Features]
[Download]
[Installation]
[Support]
[Support+]
[Docu]
[Tutorial]
[Bugs]
[forum ]
[wiki]
[Mirror]
[Authors]
[Future]
[License]
[Win98 Setup Bug]
[Subscribe]
Bug Report id=2001/10/19-v1.0b26-br04
Affected versions:v1.0b26
Severity:High

Bug Description

When 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 Bug

When 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.

Solution

The 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 Available

On 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.

Acknowledgement

N/A

This page was generated January 28, 2010 9:58:43