Login
User Name:

Password:



Register
Forgot your password?
Vote for Us!
auth_update crash
Dec 23, 2017, 10:15 pm
By Remcon
check_tumble
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, Yandex, Bing, Sogou

Members: 0
Guests: 15
Stats
Files
Topics
Posts
Members
Newest Member
478
3,708
19,242
612
Jacki72H
Today's Birthdays
There are no member birthdays today.
Related Links
» SmaugMuds.org » Bugfix Lists » SmaugFUSS Bugfix List » [Bug] Rdelete does not fix re...
Forum Rules | Mark all | Recent Posts

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

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

Samson
Black Hand
GroupAdministrators
Posts3,639
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

---

build.c

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

Locate:
   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 >>