User Name:


Forgot your password?
Vote for Us!
auth_update crash
Dec 23, 2017, 10:15 pm
By Remcon
Dec 18, 2017, 7:21 pm
By Remcon
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
LoP 1.46
Author: Remcon
Submitted by: Remcon
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
Users Online
CommonCrawl, Bing

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

[Bug] Rdelete does not fix reverse exits or unlink rooms from an area
< Newer Topic :: Older Topic > AFKMud 1.75

Pages:<< prev 1 next >>
Post is unread #1 Sep 4, 2005, 1:20 pm   Last edited Nov 13, 2005, 11:05 am by Samson
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.
Discovered in: AFKMud 1.75
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 >>