diff -r 3949b825f4bf -r faf0414a8b51 libpurple/protocols/msn/p2p.c --- a/libpurple/protocols/msn/p2p.c Tue Aug 20 14:04:56 2013 +0200 +++ b/libpurple/protocols/msn/p2p.c Wed Aug 21 14:59:29 2013 +0200 @@ -133,7 +133,9 @@ header->opcode = msn_pop8(wire); header->message_len = msn_pop16be(wire); header->base_id = msn_pop32be(wire); - if (header->header_len + header->message_len + P2P_PACKET_FOOTER_SIZE > max_len) { + if ((gsize)header->header_len + header->message_len + + P2P_PACKET_FOOTER_SIZE > max_len) + { /* Invalid header and data length */ len = 0; break;