mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Network part requires SharedBuffers to be pass as value
This can trigger unreproductible crashes due to concurrency problem on SharedBuffers This fixes #6354
This commit is contained in:
parent
2ac5a45faa
commit
eabf04bd34
4 changed files with 8 additions and 10 deletions
|
@ -55,7 +55,7 @@ std::mutex log_message_mutex;
|
|||
|
||||
#define PING_TIMEOUT 5.0
|
||||
|
||||
BufferedPacket makePacket(Address &address, const SharedBuffer<u8> &data,
|
||||
BufferedPacket makePacket(Address &address, SharedBuffer<u8> data,
|
||||
u32 protocol_id, u16 sender_peer_id, u8 channel)
|
||||
{
|
||||
u32 packet_size = data.getSize() + BASE_HEADER_SIZE;
|
||||
|
@ -125,7 +125,7 @@ void makeSplitPacket(const SharedBuffer<u8> &data, u32 chunksize_max, u16 seqnum
|
|||
}
|
||||
}
|
||||
|
||||
void makeAutoSplitPacket(const SharedBuffer<u8> &data, u32 chunksize_max,
|
||||
void makeAutoSplitPacket(SharedBuffer<u8> data, u32 chunksize_max,
|
||||
u16 &split_seqnum, std::list<SharedBuffer<u8>> *list)
|
||||
{
|
||||
u32 original_header_size = 1;
|
||||
|
@ -139,9 +139,7 @@ void makeAutoSplitPacket(const SharedBuffer<u8> &data, u32 chunksize_max,
|
|||
list->push_back(makeOriginalPacket(data));
|
||||
}
|
||||
|
||||
SharedBuffer<u8> makeReliablePacket(
|
||||
const SharedBuffer<u8> &data,
|
||||
u16 seqnum)
|
||||
SharedBuffer<u8> makeReliablePacket(SharedBuffer<u8> data, u16 seqnum)
|
||||
{
|
||||
u32 header_size = 3;
|
||||
u32 packet_size = data.getSize() + header_size;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue