mirror of https://git.sr.ht/~stygianentity/bincode
Merge pull request #65 from TyOverby/revert-sizechecks
Revert "Respect size limits in read_seq and read_map."
This commit is contained in:
commit
01ff0e6209
|
|
@ -345,18 +345,6 @@ impl<'a, R: Read> Decoder for DecoderReader<'a, R> {
|
||||||
where F: FnOnce(&mut DecoderReader<'a, R>, usize) -> DecodingResult<T>
|
where F: FnOnce(&mut DecoderReader<'a, R>, usize) -> DecodingResult<T>
|
||||||
{
|
{
|
||||||
let len = try!(self.read_usize());
|
let len = try!(self.read_usize());
|
||||||
match self.size_limit {
|
|
||||||
SizeLimit::Infinite => (),
|
|
||||||
SizeLimit::Bounded(x) => {
|
|
||||||
let overflow = match self.read.checked_add(len as u64) {
|
|
||||||
Some(y) => y > x,
|
|
||||||
None => true,
|
|
||||||
};
|
|
||||||
if overflow {
|
|
||||||
return Err(DecodingError::SizeLimit);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
};
|
|
||||||
f(self, len)
|
f(self, len)
|
||||||
}
|
}
|
||||||
fn read_seq_elt<T, F>(&mut self, _: usize, f: F) -> DecodingResult<T>
|
fn read_seq_elt<T, F>(&mut self, _: usize, f: F) -> DecodingResult<T>
|
||||||
|
|
@ -368,18 +356,6 @@ impl<'a, R: Read> Decoder for DecoderReader<'a, R> {
|
||||||
where F: FnOnce(&mut DecoderReader<'a, R>, usize) -> DecodingResult<T>
|
where F: FnOnce(&mut DecoderReader<'a, R>, usize) -> DecodingResult<T>
|
||||||
{
|
{
|
||||||
let len = try!(self.read_usize());
|
let len = try!(self.read_usize());
|
||||||
match self.size_limit {
|
|
||||||
SizeLimit::Infinite => (),
|
|
||||||
SizeLimit::Bounded(x) => {
|
|
||||||
let overflow = match self.read.checked_add(len as u64) {
|
|
||||||
Some(y) => y > x,
|
|
||||||
None => true,
|
|
||||||
};
|
|
||||||
if overflow {
|
|
||||||
return Err(DecodingError::SizeLimit);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
};
|
|
||||||
f(self, len)
|
f(self, len)
|
||||||
}
|
}
|
||||||
fn read_map_elt_key<T, F>(&mut self, _: usize, f: F) -> DecodingResult<T>
|
fn read_map_elt_key<T, F>(&mut self, _: usize, f: F) -> DecodingResult<T>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue