From 1659bf20d4d0a3cdabdfc933557cf853d3c714c8 Mon Sep 17 00:00:00 2001 From: Andrew Phillips Date: Tue, 19 Aug 2025 12:56:45 -0300 Subject: [PATCH] fix: handle buffer capacity check correctly --- src/meta_plugin/binary.rs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/meta_plugin/binary.rs b/src/meta_plugin/binary.rs index 4b560c9..dec68cf 100644 --- a/src/meta_plugin/binary.rs +++ b/src/meta_plugin/binary.rs @@ -60,16 +60,14 @@ impl MetaPlugin for BinaryMetaPlugin { // Calculate how much data we can still accept let remaining_capacity = self.max_buffer_size.saturating_sub(self.buffer.len()); - if remaining_capacity == 0 { - return; + if remaining_capacity > 0 { + // Determine how much data to copy + let bytes_to_take = std::cmp::min(data.len(), remaining_capacity); + + // Add data to our buffer + self.buffer.extend_from_slice(&data[..bytes_to_take]); } - // Determine how much data to copy - let bytes_to_take = std::cmp::min(data.len(), remaining_capacity); - - // Add data to our buffer - self.buffer.extend_from_slice(&data[..bytes_to_take]); - // If we've reached our buffer limit, save the metadata immediately if self.buffer.len() >= self.max_buffer_size { let _ = self.save_metadata(conn);