diff --git a/src/ring.rs b/src/ring.rs index 89e79408cdbab4db5ee6b4aba59b799b07e23f05..fe29db49a38f5a0431bbed5c1b1cada89019953b 100644 --- a/src/ring.rs +++ b/src/ring.rs @@ -60,6 +60,9 @@ impl RingBuf { } fn advance_reader(&mut self, mut cnt: usize) { + if self.cap == 0 { + return; + } cnt = cmp::min(cnt, self.read_remaining()); self.pos += cnt; @@ -162,6 +165,9 @@ impl MutBuf for RingBuf { } fn mut_bytes(&mut self) -> &mut [u8] { + if self.cap == 0 { + return self.as_mut_slice(); + } let mut from; let mut to;