diff options
author | metamuffin <metamuffin@disroot.org> | 2025-01-07 00:56:35 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-01-07 00:56:35 +0100 |
commit | 31ae23b7eb8cd0b688be07ae6cb4b5a96ee02a68 (patch) | |
tree | 4684c2716b8ec2963b4ad97eb3adc2162c9bc499 /shared/src/packets.rs | |
parent | 32d493db1d897a61fd3e1170136fa3e812704837 (diff) | |
download | weareserver-31ae23b7eb8cd0b688be07ae6cb4b5a96ee02a68.tar weareserver-31ae23b7eb8cd0b688be07ae6cb4b5a96ee02a68.tar.bz2 weareserver-31ae23b7eb8cd0b688be07ae6cb4b5a96ee02a68.tar.zst |
a
Diffstat (limited to 'shared/src/packets.rs')
-rw-r--r-- | shared/src/packets.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/shared/src/packets.rs b/shared/src/packets.rs index a1636cd..0f1a886 100644 --- a/shared/src/packets.rs +++ b/shared/src/packets.rs @@ -125,7 +125,8 @@ impl ReadWrite for Packet { 0x07 => Packet::Parent(Object(read_u128(r)?), Object(read_u128(r)?)), 0x08 => Packet::Sound(Object(read_u128(r)?), Data::read(r)?), _ => { - for _ in 0..u16::from_be_bytes([size_tag[0], size_tag[1]]) - 1 { + let len = u16::from_be_bytes([size_tag[0], size_tag[1]]); + for _ in 0..len.max(1) - 1 { r.read_exact(&mut [0])?; } bail!("unknown packet tag"); |