diff --git a/Cargo.toml b/Cargo.toml index b4e325b..b78633e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dockermcmgr" -version = "0.0.4" +version = "0.0.5" edition = "2024" [[bin]] diff --git a/flake.nix b/flake.nix index 3ece658..966ca74 100644 --- a/flake.nix +++ b/flake.nix @@ -38,7 +38,7 @@ final: { pname = "dmm"; - version = "0.0.4"; + version = "0.0.5"; inherit src; cargoLock.lockFile = src + "/Cargo.lock"; diff --git a/src/minecraft/client/buffer.rs b/src/minecraft/client/buffer.rs index 236d8c6..58c6a95 100644 --- a/src/minecraft/client/buffer.rs +++ b/src/minecraft/client/buffer.rs @@ -2,6 +2,7 @@ use crate::minecraft::client::client::Client; use crate::minecraft::varint::varint_read; +use std::cmp::min; use std::collections::VecDeque; use std::io; @@ -77,12 +78,14 @@ impl Client { } let _ = self.buffer.extend(data); + + let varint_buffer_len = min(self.buffer.len(), 5); - let mut varint_buffer: VecDeque = self.buffer[..5].to_vec().into(); + let mut varint_buffer: VecDeque = self.buffer[..varint_buffer_len].to_vec().into(); println!("varint_buffer : {:?}", varint_buffer); let expected_len = varint_read(&mut varint_buffer)?; - let varint_len = 5 - varint_buffer.len(); + let varint_len = varint_buffer_len - varint_buffer.len(); println!("expected len : {}, current len : {}", expected_len as usize, self.buffer.len()); println!("buffer : {:?}", self.buffer);