mirror of
https://github.com/luanti-org/luanti.git
synced 2025-08-11 17:51:04 +00:00
Fix a crash (assert) when client set serial version < 24 in INIT
When SER_FMT_VER_LOWEST is set to zero, then the test is stupid in INIT because all client works. In mapblock we check if client's serialization version is < 24, but if client sent serialization version < 24 (15 for example) the server set it and tried to send nodes, then BOOM To resolve the problem: * Create a different CLIENT_MIN_VERSION to handle this problem * Remove the exception * Use an assert in case of bad developer code
This commit is contained in:
parent
eeea454bff
commit
80a7408e4d
4 changed files with 7 additions and 6 deletions
|
@ -1366,7 +1366,7 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id)
|
|||
// Use the highest version supported by both
|
||||
int deployed = std::min(client_max, our_max);
|
||||
// If it's lower than the lowest supported, give up.
|
||||
if(deployed < SER_FMT_VER_LOWEST)
|
||||
if(deployed < SER_FMT_CLIENT_VER_LOWEST)
|
||||
deployed = SER_FMT_VER_INVALID;
|
||||
|
||||
if(deployed == SER_FMT_VER_INVALID)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue