From 80b38e07a8216ab3480dffaffc20832cf06f79d8 Mon Sep 17 00:00:00 2001 From: Brad Dunbar Date: Sun, 14 Apr 2024 10:35:31 -0400 Subject: [PATCH 1/2] `truncate` has no effect when `len == self.len()` --- src/bytes_mut.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bytes_mut.rs b/src/bytes_mut.rs index c9f563430..e130709df 100644 --- a/src/bytes_mut.rs +++ b/src/bytes_mut.rs @@ -422,7 +422,7 @@ impl BytesMut { /// assert_eq!(buf, b"hello"[..]); /// ``` pub fn truncate(&mut self, len: usize) { - if len <= self.len() { + if len < self.len() { unsafe { self.set_len(len); } From 9e7d8effada42a68f5a8a8a3e13eb090fdc59491 Mon Sep 17 00:00:00 2001 From: Brad Dunbar Date: Sun, 14 Apr 2024 10:42:26 -0400 Subject: [PATCH 2/2] Add a SAFETY comment. --- src/bytes_mut.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bytes_mut.rs b/src/bytes_mut.rs index e130709df..0248df856 100644 --- a/src/bytes_mut.rs +++ b/src/bytes_mut.rs @@ -424,6 +424,7 @@ impl BytesMut { pub fn truncate(&mut self, len: usize) { if len < self.len() { unsafe { + // SAFETY: Shrinking the buffer cannot expose uninitialized bytes. self.set_len(len); } }