From 7a64e7c4aa3e404962204d58a2d5a8cd85b67ea0 Mon Sep 17 00:00:00 2001 From: Razvan Dimescu Date: Sat, 21 Mar 2026 03:35:21 +0200 Subject: [PATCH] fix truncation check: use == instead of >= for buffer-full detection MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit recv_from can never return more bytes than the buffer size — the kernel truncates silently. == is the correct heuristic for detecting truncation. Co-Authored-By: Claude Opus 4.6 --- src/forward.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/forward.rs b/src/forward.rs index 14ad6f2..ff5c14f 100644 --- a/src/forward.rs +++ b/src/forward.rs @@ -23,7 +23,7 @@ pub async fn forward_query( let mut recv_buffer = BytePacketBuffer::new(); let (size, _) = timeout(timeout_duration, socket.recv_from(&mut recv_buffer.buf)).await??; - if size >= recv_buffer.buf.len() { + if size == recv_buffer.buf.len() { log::debug!( "upstream response truncated ({} bytes, buffer {})", size,