Login
User Name:

Password:



Register

Forgot your password?
do_owhere recursive
Author: Khonsu
Submitted by: Khonsu
Changes list / Addchange
Author: Khonsu
Submitted by: Khonsu
6Dragons mp3 sound pack
Author: Vladaar
Submitted by: Vladaar
AFKMud 2.2.3
Author: AFKMud Team
Submitted by: Samson
SWFOTEFUSS 1.5
Author: Various
Submitted by: Samson
Users Online
Bing

Members: 0
Guests: 14
Stats
Files
Topics
Posts
Members
Newest Member
489
3,793
19,649
597
Aileenutz

Today's Birthdays
There are no member birthdays today.
» SmaugMuds » Bugfix Lists » AFKMud Bugfix List » AFKMud Bug Archive » [Bug] Deleting a room with th...
Forum Rules | Mark all | Recent Posts

[Bug] Deleting a room with the at command can lead to disaster
< Newer Topic :: Older Topic > AFKMud 1.77

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

Samson
Black Hand
GroupAdministrators
Posts3,685
JoinedJan 1, 2002

 
Bug: Deleting a room with the at command can lead to disaster
Danger: High - Potential crash situation. Corrupted room pointer.
Discovered in: AFKMud 1.77
Found by: Remcon
Fixed by: Samson

---

handler.c, char_to_room

Locate:
   if( !ch )
   {
      bug( "%s", "Char_to_room: NULL ch!" );
      return FALSE;
   }


Below that, add:
   if( !get_room_index( pRoomIndex->vnum ) )
      pRoomIndex = NULL;


This simple, yet hackish solution is probably not necessary in 99% of cases. But it's always that 1% that bites you in the ass every time. Invision this: You're in a room. For whatever reason you get the urge to type "rdelete " and voila! The command succeeded.... but... wait. You're back in the room you just told the code to delete. Uh oh. Yeah, I bet you can see that any attempt to remove yourself from this situation isn't going to be good. But with this fix in place, you get a bit of bug spam and a free trip to Limbo instead. Assuming you HAVE a limbo room. But that's a whole other can of worms.

Pages:<< prev 1 next >>