[sldev] LLTemplateMessageBuilder: buildblock() difference between
VS2005 and VS2003 causes crash in 1.18
Dzonatas
dzonatas at dzonux.net
Sun Jun 17 17:37:33 PDT 2007
Close to it. The message template is invalid when it is passed into
buildBlock(). There is no assertion in buildBlock() to catch that, so it
tries to work with the invalid data and crashes.
Nicholaz Beresford wrote:
>
> I have not tried 2005, but that awfully looks like
> uninitialized member/variable to me.
>
>
> Nick
>
>
> Second Life from the inside out:
> http://nicholaz-beresford.blogspot.com/
>
>
> Dzonatas wrote:
>> I think I tracked down the difference, but still got to find the root
>> cause.
>>
>> In buildblock(), the varible block_count gets set to an extremely
>> large number in VS2005, like 136477312. That doesn't look right.
>>
>> That means the statement "S32 block_count = mbci->mBlockNumber;" on
>> line 633 results in two different values, mBlockNumber is 43943744.
>>
>> As a result, the loop towards the end of the buildblock() counts down
>> block_count and quickly gets into invalid memory pointers.
>>
>
>
--
Power to Change the Void
More information about the SLDev
mailing list