User Name:


Forgot your password?
Vote for Us!
Nov 28, 2018, 10:10 am
By Keirath
First Immortal
Oct 12, 2018, 12:02 pm
By GatewaySysop
Bug in do_climb( )
Jun 5, 2018, 5:31 pm
By joeyfogas
question on overland code
May 31, 2018, 10:03 am
By joeyfogas
KaVir's Protocol Snip
May 15, 2018, 7:57 pm
By joeyfogas
tintin++ ogg sound player script for linux
Author: Robert Smith
Submitted by: Vladaar
6Dragons ogg Soundpack
Author: Vladaar
Submitted by: Vladaar
6Dragons 4.4
Author: Vladaar
Submitted by: Vladaar
LoP 1.46
Author: Remcon
Submitted by: Remcon
LOP 1.45
Author: Remcon
Submitted by: Remcon
Users Online
CommonCrawl, DotBot, Bing

Members: 0
Guests: 24
Newest Member
Today's Birthdays
There are no member birthdays today.
Related Links
» SmaugMuds.org » Bugfix Lists » SWFOTE FUSS Bugfix List » [Bug] Rdelete does not fix re...
Forum Rules | Mark all | Recent Posts

[Bug] Rdelete does not fix reverse exits. Rdelete does not unlink from area
< Newer Topic :: Older Topic >

Pages:<< prev 1 next >>
Post is unread #1 Sep 4, 2005, 2:27 pm
Go to the top of the page
Go to the bottom of the page

Black Hand
JoinedJan 1, 2002

Bug: Rdelete does not fix reverse exits. Rdelete does not unlink room from area.
Danger: Critical - Access to invalid data, crash probability, corrupted data possible.
Found by: Remcon
Fixed by: Samson/Remcon



Near the top of the file, add:
void fix_exits( void );

In the do_rdelete function, locate:
   delete_room( location );

Below that, add:
   fix_exits(); /* Need to call this to solve a crash */

db.c, delete_room

   MPROG_ACT_LIST *mpact;
   MPROG_DATA *mp;

Below that, add:
   UNLINK( room, room->area->first_room, room->area->last_room, next_aroom, prev_aroom );

If this fix is not done, the worst possible case of things can happen: Someone will be able to walk into a room which the code beleives has been deleted from memory. Being able to access invalidated data in any way will lead to all sorts of really uncool problems that one should avoid at all costs, not the least of which is the possibility this could have corrupted the area files if it managed to save the data. Since it's never removed from the area's list of rooms, it allows the reset code access to a borked room which just makes things that much worse.
Pages:<< prev 1 next >>