aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEdward Barnard2017-03-03 13:59:05 +0000
committerEdward Barnard2017-03-03 13:59:05 +0000
commit8eef734830f302066f61c826d6e132a1bb9fc650 (patch)
tree51217c6acffce9624cbc49d14510f099cb116737 /src
parentaf6c771aca701c566920eac04141c16c2b7c6c91 (diff)
downloadrust-plist-fuzz.tar.bz2
Don’t panic on invalid object references.fuzz
Diffstat (limited to 'src')
-rw-r--r--src/binary/reader.rs2
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)
}