gaim/gaim

a4c6e4969dde
Parents 784a833ce765
Children dfef2bdfdb80
Fix a potential crash with some versions of gtk on some systems when
someone sends you a file with a name with non-good characters
--- a/src/protocols/oscar/oscar.c Thu Aug 11 20:53:33 2005 -0400
+++ b/src/protocols/oscar/oscar.c Thu Aug 11 20:57:27 2005 -0400
@@ -3552,7 +3552,18 @@
xfer = gaim_xfer_new(gc->account, GAIM_XFER_RECEIVE, userinfo->sn);
xfer->remote_ip = g_strdup(args->verifiedip);
xfer->remote_port = args->port;
- gaim_xfer_set_filename(xfer, args->info.sendfile.filename);
+
+ if (g_utf8_validate(args->info.sendfile.filename, -1,
+ NULL)) {
+ gaim_xfer_set_filename(xfer,
+ args->info.sendfile.filename);
+ } else {
+ gchar * utf8_filename = gaim_utf8_salvage(
+ args->info.sendfile.filename);
+ gaim_xfer_set_filename(xfer, utf8_filename);
+ g_free(utf8_filename);
+ }
+
gaim_xfer_set_size(xfer, args->info.sendfile.totsize);
/* Ignore <ICQ_COOL_FT> XML that is sent along with ICQ sendfile requests */