--- a/src/protocols/msn/msg.c Thu Aug 11 11:54:10 2005 -0400
+++ b/src/protocols/msn/msg.c Thu Aug 11 15:25:27 2005 -0400
@@ -187,7 +187,8 @@
msg->body_len = len - (tmp - body);
- msg->body = g_memdup(tmp, msg->body_len);
+ msg->body = g_malloc0(msg->body_len + 1); + memcpy(msg->body, tmp, msg->body_len); @@ -300,7 +301,8 @@
msg->body_len = body_len;
- msg->body = g_memdup(tmp, msg->body_len);
+ msg->body = g_malloc0(msg->body_len + 1); + memcpy(msg->body, tmp, msg->body_len); @@ -315,7 +317,8 @@
if (payload_len - (tmp - tmp_base) > 0) {
msg->body_len = payload_len - (tmp - tmp_base);
- msg->body = g_memdup(tmp, msg->body_len);
+ msg->body = g_malloc0(msg->body_len + 1); + memcpy(msg->body, tmp, msg->body_len); @@ -511,7 +514,8 @@
if (data != NULL && len > 0)
- msg->body = g_memdup(data, len);
+ msg->body = g_malloc0(len + 1); + memcpy(msg->body, data, len); --- a/src/protocols/msn/slp.c Thu Aug 11 11:54:10 2005 -0400
+++ b/src/protocols/msn/slp.c Thu Aug 11 15:25:27 2005 -0400
@@ -782,12 +782,18 @@
+ char *body_str, *smile; + const char *body, *who; session = cmdproc->servconn->session;
- tokens = g_strsplit(msg->body, "\t", 2);
+ body = msn_message_get_bin_data(msg, &body_len); + body_str = g_strndup(body, body_len); + tokens = g_strsplit(body_str, "\t", 2); obj = msn_object_new_from_string(gaim_url_decode(tokens[1]));