aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEdward Barnard2017-05-05 10:03:03 +0100
committerEdward Barnard2017-05-05 10:03:03 +0100
commit645aece10f5b25ba015ef5ff240586a2f38aad7e (patch)
tree82bb94247f20490259e8976d8e6b3d4680906948 /src
parent3f67a83b884925288e782033454e72944257b219 (diff)
downloadrust-plist-645aece10f5b25ba015ef5ff240586a2f38aad7e.tar.bz2
Check for NaN binary date values.
Diffstat (limited to 'src')
-rw-r--r--src/date.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/date.rs b/src/date.rs
index 50a0d5d..01c5c9d 100644
--- a/src/date.rs
+++ b/src/date.rs
@@ -15,6 +15,10 @@ impl Date {
pub fn from_seconds_since_plist_epoch(timestamp: f64) -> Result<Date> {
// Seconds since 1/1/2001 00:00:00.
+ if timestamp.is_nan() {
+ return Err(Error::InvalidData);
+ }
+
let millis = timestamp * 1_000.0;
// Chrono's Duration can only millisecond values between ::std::i64::MIN and
// ::std::i64::MAX.