diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-04-07 03:15:44 +0100 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-04-07 03:15:44 +0100 |
commit | 7815a2b57887751a7e026747b27abea04b13abae (patch) | |
tree | 0012685b2374b57c90b0b5f9c9381ae06e0192a7 | |
parent | e3413cc741d2b0a82183f859d7470922bc581efa (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.c | 12 |
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; } } |