# HG changeset patch # User Paul Aurich # Date 1249537547 0 # Node ID 36f23fdb58b63b250bec1151e9820dee6422acb5 # Parent f9cf1e14838b6df72ddfa4c396cd8a1511398379 log: Escape the "from" name in the HTML logger. Refs #9824. diff -r f9cf1e14838b -r 36f23fdb58b6 libpurple/log.c --- a/libpurple/log.c Thu Aug 06 04:59:12 2009 +0000 +++ b/libpurple/log.c Thu Aug 06 05:45:47 2009 +0000 @@ -1375,6 +1375,7 @@ char *image_corrected_msg; char *date; char *header; + char *escaped_from; PurplePlugin *plugin = purple_find_prpl(purple_account_get_protocol_id(log->account)); PurpleLogCommonLoggerData *data = log->logger_data; gsize written = 0; @@ -1413,6 +1414,8 @@ if(!data->file) return 0; + escaped_from = g_markup_escape_text(from, -1); + image_corrected_msg = convert_image_tags(log, message); purple_markup_html_to_xhtml(image_corrected_msg, &msg_fixed, NULL); @@ -1434,34 +1437,35 @@ written += fprintf(data->file, "(%s) %s
\n", date, msg_fixed); else if (type & PURPLE_MESSAGE_WHISPER) written += fprintf(data->file, "(%s) %s: %s
\n", - date, from, msg_fixed); + date, escaped_from, msg_fixed); else if (type & PURPLE_MESSAGE_AUTO_RESP) { if (type & PURPLE_MESSAGE_SEND) - written += fprintf(data->file, _("(%s) %s <AUTO-REPLY>: %s
\n"), date, from, msg_fixed); + written += fprintf(data->file, _("(%s) %s <AUTO-REPLY>: %s
\n"), date, escaped_from, msg_fixed); else if (type & PURPLE_MESSAGE_RECV) - written += fprintf(data->file, _("(%s) %s <AUTO-REPLY>: %s
\n"), date, from, msg_fixed); + written += fprintf(data->file, _("(%s) %s <AUTO-REPLY>: %s
\n"), date, escaped_from, msg_fixed); } else if (type & PURPLE_MESSAGE_RECV) { if(purple_message_meify(msg_fixed, -1)) written += fprintf(data->file, "(%s) ***%s %s
\n", - date, from, msg_fixed); + date, escaped_from, msg_fixed); else written += fprintf(data->file, "(%s) %s: %s
\n", - date, from, msg_fixed); + date, escaped_from, msg_fixed); } else if (type & PURPLE_MESSAGE_SEND) { if(purple_message_meify(msg_fixed, -1)) written += fprintf(data->file, "(%s) ***%s %s
\n", - date, from, msg_fixed); + date, escaped_from, msg_fixed); else written += fprintf(data->file, "(%s) %s: %s
\n", - date, from, msg_fixed); + date, escaped_from, msg_fixed); } else { purple_debug_error("log", "Unhandled message type.\n"); written += fprintf(data->file, "(%s) %s: %s
\n", - date, from, msg_fixed); + date, escaped_from, msg_fixed); } } g_free(date); g_free(msg_fixed); + g_free(escaped_from); fflush(data->file); return written;