mirror of
https://github.com/luanti-org/luanti.git
synced 2025-07-27 17:28:41 +00:00
Fix critical vulnerabilities and bugs with NetworkPacket
This commit is contained in:
parent
49cf66d785
commit
bd0b469d3d
2 changed files with 69 additions and 63 deletions
|
@ -111,21 +111,16 @@ public:
|
|||
// Temp, we remove SharedBuffer when migration finished
|
||||
Buffer<u8> oldForgePacket();
|
||||
private:
|
||||
void checkReadOffset(u32 from_offset);
|
||||
void checkReadOffset(u32 from_offset, u32 field_size);
|
||||
|
||||
template<typename T> void checkDataSize()
|
||||
inline void checkDataSize(u32 field_size)
|
||||
{
|
||||
if (m_read_offset + sizeof(T) > m_datasize) {
|
||||
m_datasize = m_read_offset + sizeof(T);
|
||||
if (m_read_offset + field_size > m_datasize) {
|
||||
m_datasize = m_read_offset + field_size;
|
||||
m_data.resize(m_datasize);
|
||||
}
|
||||
}
|
||||
|
||||
template<typename T> void incrOffset()
|
||||
{
|
||||
m_read_offset += sizeof(T);
|
||||
}
|
||||
|
||||
std::vector<u8> m_data;
|
||||
u32 m_datasize;
|
||||
u32 m_read_offset;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue