Fix infinite loop bug
This commit is contained in:
1 parent
95b153cdeb
commit
2ff0934354
1 file changed
+5
-1
@@ -101,7 +101,11 @@ impl PackBitsReader {
|
|||||||
let mut buffer = Vec::new();
|
let mut buffer = Vec::new();
|
||||||
let mut read: usize = 0;
|
let mut read: usize = 0;
|
||||||
while read < length {
|
while read < length {
|
||||||
read += try!(read_packbits_run(&mut reader, &mut buffer));
|
let lread = read_packbits_run(&mut reader, &mut buffer)?;
|
||||||
|
if lread == 0 {
|
||||||
|
return Err(io::ErrorKind::UnexpectedEof.into())
|
||||||
|
}
|
||||||
|
read += lread;
|
||||||
}
|
}
|
||||||
Ok((buffer.len(), PackBitsReader {
|
Ok((buffer.len(), PackBitsReader {
|
||||||
buffer: io::Cursor::new(buffer),
|
buffer: io::Cursor::new(buffer),
|
||||||
|
|||||||
Reference in new issue
Block a user