» SmaugMuds » Bugfix Lists » AFKMud Bugfix List » AFKMud Bug Archive » [Bug] Deleting a room with th...
[Bug] Deleting a room with the at command can lead to disaster
< Newer Topic
:: Older Topic >
AFKMud 1.77
Pages:<< prev 1 next >>
#1 Sep 24, 2006 4:17 pm
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:
Below that, add:
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.
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
Pages:<< prev 1 next >>