User Name:


Forgot your password?
Vote for Us!
parse description bug
Dec 15, 2017, 10:08 pm
By Remcon
Couple bugs
Dec 12, 2017, 5:42 pm
By Remcon
Bug in disarm( )
Nov 12, 2017, 6:54 pm
By GatewaySysop
Bug in will_fall( )
Oct 23, 2017, 1:35 am
By GatewaySysop
Bug in do_zap( ), do_brandish( )
Oct 18, 2017, 1:52 pm
By GatewaySysop
LOP 1.45
Author: Remcon
Submitted by: Remcon
LOP Heroes Edition
Author: Vladaar
Submitted by: Vladaar
Heroes sound extras
Author: Vladaar
Submitted by: Vladaar
6Dragons 4.3
Author: Vladaar
Submitted by: Vladaar
Author: Johan Lindh
Submitted by: Vladaar
Users Online
CommonCrawl, Yahoo!, Google, Majestic-12

Members: 0
Guests: 11
Newest Member
Today's Birthdays
There are no member birthdays today.
Related Links
» SmaugMuds.org » Bugfix Lists » SWR 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:02 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 >>