aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEdward Barnard2017-03-03 13:59:05 +0000
committerEdward Barnard2017-03-03 14:05:31 +0000
commitf7c3d0d0875e1e3c2b2b317581416e5c389197dd (patch)
treef92183f3c837936280f752a3aa8f183b6baf3a14 /src
parent62cae5d6ea74e2a9d95ed4b68a1b74b78f49d31e (diff)
downloadrust-plist-f7c3d0d0875e1e3c2b2b317581416e5c389197dd.tar.bz2
Don’t panic on invalid object references.v0.1.2
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)
}