diff options
| author | Edward Barnard | 2017-03-03 13:59:05 +0000 |
|---|---|---|
| committer | Edward Barnard | 2017-03-03 13:59:05 +0000 |
| commit | 8eef734830f302066f61c826d6e132a1bb9fc650 (patch) | |
| tree | 51217c6acffce9624cbc49d14510f099cb116737 /src/binary/reader.rs | |
| parent | af6c771aca701c566920eac04141c16c2b7c6c91 (diff) | |
| download | rust-plist-8eef734830f302066f61c826d6e132a1bb9fc650.tar.bz2 | |
Don’t panic on invalid object references.fuzz
Diffstat (limited to 'src/binary/reader.rs')
| -rw-r--r-- | src/binary/reader.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/binary/reader.rs b/src/binary/reader.rs index 600d3b3..474e69d 100644 --- a/src/binary/reader.rs +++ b/src/binary/reader.rs @@ -145,7 +145,7 @@ impl<R: Read + Seek> EventReader<R> { fn seek_to_object(&mut self, object_ref: u64) -> Result<u64> { let object_ref = try!(u64_to_usize(object_ref)); - let offset = *&self.object_offsets[object_ref]; + let offset = *self.object_offsets.get(object_ref).ok_or(Error::InvalidData)?; let pos = try!(self.reader.seek(SeekFrom::Start(offset))); Ok(pos) } |
