Bug: Switched PC's cause crash in color processing
Danger: Low - Not an issue unless switched into an NPC.
Found by: Samson
Fixed by: Samson
---
color.c, colorcode
Locate:
case 'D': /* Reset to custom color for whatever is being displayed */
strncpy( code, ANSI_RESET, 20 ); /* Yes, this reset here is quite necessary to cancel out other things */
if( ch )
strncat( code, color_str( ch->desc->pagecolor, ch ), 20 );
break;
Change to:
case 'D': /* Reset to custom color for whatever is being displayed */
strncpy( code, ANSI_RESET, 20 ); /* Yes, this reset here is quite necessary to cancel out other things */
if( ch && ch->desc )
strncat( code, color_str( ch->desc->pagecolor, ch ), 20 );
break;
This particular part of the processing code does not verify that there is a valid descriptor before performing operations on it. Generally a bad idea. Most often affects switched imms, but could possibly be triggered by forcing linkdead players as well.