Merge pull request #550 from infinityb/fix-buffer-underflow
fix(buffer): check capacity before resizing
This commit is contained in:
		| @@ -67,7 +67,7 @@ impl<R: Read> BufReader<R> { | |||||||
|     #[inline] |     #[inline] | ||||||
|     fn maybe_reserve(&mut self) { |     fn maybe_reserve(&mut self) { | ||||||
|         let cap = self.buf.capacity(); |         let cap = self.buf.capacity(); | ||||||
|         if self.cap == cap { |         if self.cap == cap && cap < MAX_BUFFER_SIZE { | ||||||
|             self.buf.reserve(cmp::min(cap * 4, MAX_BUFFER_SIZE) - cap); |             self.buf.reserve(cmp::min(cap * 4, MAX_BUFFER_SIZE) - cap); | ||||||
|             let new = self.buf.capacity() - self.buf.len(); |             let new = self.buf.capacity() - self.buf.len(); | ||||||
|             trace!("reserved {}", new); |             trace!("reserved {}", new); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user