summaryrefslogtreecommitdiff
path: root/shared/src/packets.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-01-07 00:56:35 +0100
committermetamuffin <metamuffin@disroot.org>2025-01-07 00:56:35 +0100
commit31ae23b7eb8cd0b688be07ae6cb4b5a96ee02a68 (patch)
tree4684c2716b8ec2963b4ad97eb3adc2162c9bc499 /shared/src/packets.rs
parent32d493db1d897a61fd3e1170136fa3e812704837 (diff)
downloadweareserver-31ae23b7eb8cd0b688be07ae6cb4b5a96ee02a68.tar
weareserver-31ae23b7eb8cd0b688be07ae6cb4b5a96ee02a68.tar.bz2
weareserver-31ae23b7eb8cd0b688be07ae6cb4b5a96ee02a68.tar.zst
a
Diffstat (limited to 'shared/src/packets.rs')
-rw-r--r--shared/src/packets.rs3
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");