From 118555e93d89edd87f909f56905b51c90bc2ebcb Mon Sep 17 00:00:00 2001 From: link2xt Date: Fri, 14 Mar 2025 04:41:38 +0000 Subject: [PATCH] fix: use write_all() to write space after a tag `write()` should not return Ok without writing anything, but the documentation is not clear on this and underlying implementation may be wrong as IMAP can be run over various streams, e.g. compressed, encrypted, proxied. It is safer to use `write_all()` everywhere, even when we write a single byte. --- src/imap_stream.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/imap_stream.rs b/src/imap_stream.rs index 0bad554..238a86c 100644 --- a/src/imap_stream.rs +++ b/src/imap_stream.rs @@ -47,7 +47,7 @@ impl ImapStream { if let Some(tag) = msg.0 { self.inner.write_all(tag.as_bytes()).await?; - self.inner.write(b" ").await?; + self.inner.write_all(b" ").await?; } self.inner.write_all(&msg.1).await?; self.inner.write_all(b"\r\n").await?;