--- a/libpurple/protocols/msn/slp.c Tue Aug 04 03:49:01 2009 +0000 +++ b/libpurple/protocols/msn/slp.c Tue Aug 04 03:51:30 2009 +0000 @@ -341,8 +341,8 @@ bin = (char *)purple_base64_decode(context, &bin_len); file_size = GUINT32_FROM_LE(*(gsize *)(bin + 8)); - file_name = g_convert(bin + 20, -1, "UTF-8", "UTF-16LE", - NULL, NULL, NULL); + file_name = g_convert(bin + 20, MAX_FILE_NAME_LEN, "UTF-8", "UTF-16LE", + NULL, NULL, &error); g_free(bin);