Severed bunny head
Register | User Profile | Member List | F.A.Q | Privacy Policy | New Blog | Search Forums | Forums Home
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Special Interest > Eternity > Speaking of crashing for trivial things...
 
Author
All times are GMT. The time now is 20:44. Post New Thread    Post A Reply
JoelMurdoch
Should know better by now


Posts: 656
Registered: 02-02


Eternity bombs when the map information lump does not end with a new line :P

Old Post 03-02-07 22:24 #
JoelMurdoch is offline Profile || Blog || PM || Email || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
Quasar
Moderator


Posts: 2200
Registered: 08-00


I thought this was fixed.

Old Post 04-06-07 19:16 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
JoelMurdoch
Should know better by now


Posts: 656
Registered: 02-02


I was using the original SMMU method when I got this crash. I'm now using the EMAPINFO lump and haven't tried to see if it crashes too.

Old Post 04-09-07 11:02 #
JoelMurdoch is offline Profile || Blog || PM || Email || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
Quasar
Moderator


Posts: 2200
Registered: 08-00


It will. esselfortium has hit the same problem, only for him instead of crashing, it causes ExtraData to randomly malfunction by corrupting the lump name provided via MapInfo. I've identified the problem as the fix to the problem. That is, what I did to fix this bug in MapInfo is still wrong and will randomly fail to produce correct results. If your MapInfo lump is a multiple of 32 bytes in size, it will corrupt the next block on the zone heap and cause a crash.

The problem was two lines of code meant to normalize the lump and make parsing easier:
code:
lump[size] = '\n'; lump[size + 1] = '\0';

I forgot that I had already added +2 to size to account for the extra characters I add to the end of the file. This means that I'm writing two bytes past the end. The correct code should have been:
code:
lump[size - 2] = '\n'; lump[size - 1] = '\0';

This'll be repaired in the next release. In the meanwhile, if you terminate your MapInfo lumps with a linebreak and avoid making them a multiple of 32 bytes in size, you shouldn't have any issues with this.

Old Post 04-09-07 18:15 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
All times are GMT. The time now is 20:44. Post New Thread    Post A Reply
 
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Special Interest > Eternity > Speaking of crashing for trivial things...

Show Printable Version | Email this Page | Subscribe to this Thread

 

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are OFF
[IMG] code is ON
 

< Contact Us - Doomworld >

Powered by: vBulletin Version 2.2.5
Copyright ©2000, 2001, Jelsoft Enterprises Limited.

Forums Directory