aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Stepan Koltsov <stepan.koltsov@gmail.com> 2021-02-16 20:44:33 +0000
committerGravatar GitHub <noreply@github.com> 2021-02-16 12:44:33 -0800
commit2428c152a67c06057a98d9d29b08389cb3429c1f (patch)
tree78e225d0fadc1cfc602531c22b804684d80d7209 /src
parent268f6f80b4685b53f57706abc6aef31f46b54738 (diff)
downloadbytes-2428c152a67c06057a98d9d29b08389cb3429c1f.tar.gz
bytes-2428c152a67c06057a98d9d29b08389cb3429c1f.tar.zst
bytes-2428c152a67c06057a98d9d29b08389cb3429c1f.zip
Panic on integer overflow in Chain::remaining (#482)
Make it safer.
Diffstat (limited to 'src')
-rw-r--r--src/buf/chain.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/buf/chain.rs b/src/buf/chain.rs
index d68bc2d..8a1598c 100644
--- a/src/buf/chain.rs
+++ b/src/buf/chain.rs
@@ -135,7 +135,7 @@ where
U: Buf,
{
fn remaining(&self) -> usize {
- self.a.remaining() + self.b.remaining()
+ self.a.remaining().checked_add(self.b.remaining()).unwrap()
}
fn chunk(&self) -> &[u8] {
@@ -178,7 +178,10 @@ where
U: BufMut,
{
fn remaining_mut(&self) -> usize {
- self.a.remaining_mut() + self.b.remaining_mut()
+ self.a
+ .remaining_mut()
+ .checked_add(self.b.remaining_mut())
+ .unwrap()
}
fn chunk_mut(&mut self) -> &mut UninitSlice {