summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElliott Sales de Andrade <qulogic@pidgin.im>2011-01-11 05:24:33 +0000
committerElliott Sales de Andrade <qulogic@pidgin.im>2011-01-11 05:24:33 +0000
commit7bccffbc4b80a04fd82cec281482633b36ffb731 (patch)
tree28687652e73848ba7ce226871bb70913434b914c
parent16e2c2ee36544902aa9fadeec511635b830ed67d (diff)
downloadpidgin-7bccffbc4b80a04fd82cec281482633b36ffb731.tar.gz
We don't pack P2P header or footer, so this memdup won't work.
-rw-r--r--libpurple/protocols/msn/slpmsg_part.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/libpurple/protocols/msn/slpmsg_part.c b/libpurple/protocols/msn/slpmsg_part.c
index 3887dcec7d..26e1bf5b33 100644
--- a/libpurple/protocols/msn/slpmsg_part.c
+++ b/libpurple/protocols/msn/slpmsg_part.c
@@ -34,10 +34,14 @@ MsnSlpMessagePart *msn_slpmsgpart_new(MsnP2PHeader *header, MsnP2PFooter *footer
part = g_new0(MsnSlpMessagePart, 1);
- if (header)
- part->header = g_memdup(header, P2P_PACKET_HEADER_SIZE);
- if (footer)
- part->footer = g_memdup(footer, P2P_PACKET_FOOTER_SIZE);
+ if (header) {
+ part->header = g_new0(MsnP2PHeader, 1);
+ *part->header = *header;
+ }
+ if (footer) {
+ part->footer = g_new0(MsnP2PFooter, 1);
+ *part->footer = *footer;
+ }
part->ack_cb = msn_slpmsgpart_ack;
part->nak_cb = msn_slpmsgpart_nak;