$OpenBSD: patch-src_protocols_msn_msg_c,v 1.2 2005/08/11 16:58:52 fgsch Exp $ --- src/protocols/msn/msg.c.orig Thu Jun 9 23:29:45 2005 +++ src/protocols/msn/msg.c Thu Aug 11 13:31:35 2005 @@ -187,7 +187,8 @@ msn_message_parse_slp_body(MsnMessage *m if (body_len > 0) { 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); tmp += body_len; } } @@ -300,7 +301,8 @@ msn_message_parse_payload(MsnMessage *ms /* Import the body. */ if (body_len > 0) { 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); tmp += body_len; } @@ -315,7 +317,8 @@ msn_message_parse_payload(MsnMessage *ms { 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 @@ msn_message_set_bin_data(MsnMessage *msg if (data != NULL && len > 0) { - msg->body = g_memdup(data, len); + msg->body = g_malloc0(len + 1); + memcpy(msg->body, data, len); msg->body_len = len; } else