virtmgr: don't alloc for small log lines
Use `shrink_to` to make sure the buffer doesn't stay large after passing
along a particularly large line.
Test: start microdroid
Change-Id: I95be2b28d07fa8368e8f5e1a7e7148738ebc8026
diff --git a/android/virtmgr/src/aidl.rs b/android/virtmgr/src/aidl.rs
index 33f3be1..b5b2108 100644
--- a/android/virtmgr/src/aidl.rs
+++ b/android/virtmgr/src/aidl.rs
@@ -2003,8 +2003,10 @@
let mut reader = BufReader::new(File::from(read_fd));
let write_fd = File::from(write_fd);
+ let mut buf = vec![];
std::thread::spawn(move || loop {
- let mut buf = vec![];
+ buf.clear();
+ buf.shrink_to(1024);
match reader.read_until(b'\n', &mut buf) {
Ok(0) => {
// EOF