aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2010-04-07 03:15:44 +0100
committerWilmer van der Gaast <wilmer@gaast.net>2010-04-07 03:15:44 +0100
commit7815a2b57887751a7e026747b27abea04b13abae (patch)
tree0012685b2374b57c90b0b5f9c9381ae06e0192a7
parente3413cc741d2b0a82183f859d7470922bc581efa (diff)
Check MSN display names given by the server for UTF-8-correctness before
using them since invalid XML ending up in user configs can get very ugly.
-rw-r--r--protocols/msn/ns.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/protocols/msn/ns.c b/protocols/msn/ns.c
index cb10df30..8181c1af 100644
--- a/protocols/msn/ns.c
+++ b/protocols/msn/ns.c
@@ -767,8 +767,16 @@ static gboolean msn_ns_got_display_name( struct im_connection *ic, char *name )
"server's name. Set local_display_name to true "
"to use the local name.", s->value, name );
- g_free( s->value );
- s->value = g_strdup( name );
+ if( g_utf8_validate( name, -1, NULL ) )
+ {
+ g_free( s->value );
+ s->value = g_strdup( name );
+ }
+ else
+ {
+ imcb_log( ic, "Warning: Friendly name in server response was corrupted" );
+ }
+
return TRUE;
}
}