diff options
author | Loïc Blot <loic.blot@unix-experience.fr> | 2017-08-28 17:12:30 +0200 |
---|---|---|
committer | Loïc Blot <loic.blot@unix-experience.fr> | 2017-08-28 17:12:46 +0200 |
commit | 6fd8a27c91b09f51693243586af3615f962d1730 (patch) | |
tree | 17a22d5e185cb6171a89343b090a3661edfe8306 /src/network/connectionthreads.cpp | |
parent | 04158d0c848b73bb9d4615c605fe51a180ba9d2c (diff) | |
download | hax-minetest-server-6fd8a27c91b09f51693243586af3615f962d1730.tar.gz hax-minetest-server-6fd8a27c91b09f51693243586af3615f962d1730.zip |
Pass SharedBuffer as value to increment reference count
This should fix #6332
Refcount is not increased due to reference, it can make this refcount incorrect in a multithread context
Diffstat (limited to 'src/network/connectionthreads.cpp')
-rw-r--r-- | src/network/connectionthreads.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/network/connectionthreads.cpp b/src/network/connectionthreads.cpp index b07acd469..63c1855c5 100644 --- a/src/network/connectionthreads.cpp +++ b/src/network/connectionthreads.cpp @@ -1098,7 +1098,7 @@ bool ConnectionReceiveThread::checkIncomingBuffers(Channel *channel, } SharedBuffer<u8> ConnectionReceiveThread::processPacket(Channel *channel, - SharedBuffer<u8> &packetdata, u16 peer_id, u8 channelnum, bool reliable) + SharedBuffer<u8> packetdata, u16 peer_id, u8 channelnum, bool reliable) { PeerHelper peer = m_connection->getPeerNoEx(peer_id); @@ -1137,7 +1137,7 @@ const ConnectionReceiveThread::PacketTypeHandler }; SharedBuffer<u8> ConnectionReceiveThread::handlePacketType_Control(Channel *channel, - SharedBuffer<u8> &packetdata, Peer *peer, u8 channelnum, bool reliable) + SharedBuffer<u8> packetdata, Peer *peer, u8 channelnum, bool reliable) { if (packetdata.getSize() < 2) throw InvalidIncomingDataException("packetdata.getSize() < 2"); @@ -1247,7 +1247,7 @@ SharedBuffer<u8> ConnectionReceiveThread::handlePacketType_Control(Channel *chan } SharedBuffer<u8> ConnectionReceiveThread::handlePacketType_Original(Channel *channel, - SharedBuffer<u8> &packetdata, Peer *peer, u8 channelnum, bool reliable) + SharedBuffer<u8> packetdata, Peer *peer, u8 channelnum, bool reliable) { if (packetdata.getSize() <= ORIGINAL_HEADER_SIZE) throw InvalidIncomingDataException @@ -1261,7 +1261,7 @@ SharedBuffer<u8> ConnectionReceiveThread::handlePacketType_Original(Channel *cha } SharedBuffer<u8> ConnectionReceiveThread::handlePacketType_Split(Channel *channel, - SharedBuffer<u8> &packetdata, Peer *peer, u8 channelnum, bool reliable) + SharedBuffer<u8> packetdata, Peer *peer, u8 channelnum, bool reliable) { Address peer_address; @@ -1292,7 +1292,7 @@ SharedBuffer<u8> ConnectionReceiveThread::handlePacketType_Split(Channel *channe } SharedBuffer<u8> ConnectionReceiveThread::handlePacketType_Reliable(Channel *channel, - SharedBuffer<u8> &packetdata, Peer *peer, u8 channelnum, bool reliable) + SharedBuffer<u8> packetdata, Peer *peer, u8 channelnum, bool reliable) { assert(channel != NULL); |