diff -r 3c9fc84490a9 -r 41e45e18f3b2 libpurple/protocols/mxit/markup.c --- a/libpurple/protocols/mxit/markup.c Fri Aug 12 21:36:10 2016 -0500 +++ b/libpurple/protocols/mxit/markup.c Fri Aug 19 23:03:37 2016 -0500 @@ -1070,7 +1070,6 @@ GList* entry; GList* tagstack = NULL; char* reply; - char color[8]; int len = strlen ( message ); int i; @@ -1132,12 +1131,18 @@ } else if ( purple_str_has_prefix( &message[i], " */ + if ( i + 20 < len ) { + tag = g_new0( struct tag, 1 ); + tag->type = MXIT_TAG_COLOR; + tagstack = g_list_append( tagstack, tag ); + + memset( color, 0x00, sizeof( color ) ); + memcpy( color, &message[i + 13], 7 ); + g_string_append( mx, color ); + } } else if ( purple_str_has_prefix( &message[i], "" ) ) { /* end of font tag */