diff options
author | Elliott Sales de Andrade <qulogic@pidgin.im> | 2011-01-11 05:24:33 +0000 |
---|---|---|
committer | Elliott Sales de Andrade <qulogic@pidgin.im> | 2011-01-11 05:24:33 +0000 |
commit | 7bccffbc4b80a04fd82cec281482633b36ffb731 (patch) | |
tree | 28687652e73848ba7ce226871bb70913434b914c | |
parent | 16e2c2ee36544902aa9fadeec511635b830ed67d (diff) | |
download | pidgin-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.c | 12 |
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; |