diff -uprNEBZ --suppress-blank-empty a/src/network/networkpacket.cpp b/src/network/networkpacket.cpp --- a/src/network/networkpacket.cpp 2016-05-16 01:59:02.000000000 -0500 +++ b/src/network/networkpacket.cpp 2016-07-07 22:30:52.572633557 -0500 @@ -539,11 +539,11 @@ Buffer NetworkPacket::oldForgePacket } //freeminer: -bool parse_msgpack_packet(char *data, u32 datasize, MsgpackPacket *packet, int *command, msgpack::unpacked *msg) { +bool parse_msgpack_packet(char *data, u32 datasize, MsgpackPacket *packet, int *command, msgpack::unpacked &msg) { try { //msgpack::unpacked msg; msgpack::unpack(msg, data, datasize); - msgpack::object obj = msg->get(); + msgpack::object obj = msg.get(); *packet = obj.as(); *command = (*packet)[MSGPACK_COMMAND].as(); @@ -576,7 +576,7 @@ int NetworkPacket::packet_unpack() { packet = new MsgpackPacketSafe; if (!packet_unpacked) packet_unpacked = new msgpack::unpacked; - if (!parse_msgpack_packet(getString(0), datasize, packet, &command, packet_unpacked)) { + if (!parse_msgpack_packet(getString(0), datasize, packet, &command, *packet_unpacked)) { //verbosestream<<"Server: Ignoring broken packet from " <