From 27fa33779fc6e5c3a928da880bc65eed07fdb596 Mon Sep 17 00:00:00 2001 From: Paul Dicker Date: Wed, 31 Jan 2024 15:14:06 +0100 Subject: [PATCH] Check for invalid cast --- src/naive/datetime/serde.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/naive/datetime/serde.rs b/src/naive/datetime/serde.rs index f23805e0f3..08b7d021ab 100644 --- a/src/naive/datetime/serde.rs +++ b/src/naive/datetime/serde.rs @@ -223,7 +223,9 @@ assert_eq!(my_s.time, time); expecting: "a unix timestamp", visit_i64(i64): |value: i64| NaiveDateTime::from_timestamp_opt(value, 0) .ok_or_else(|| E::custom(ne_timestamp(value))), - visit_u64(u64): |value: u64| NaiveDateTime::from_timestamp_opt(value as i64, 0) + visit_u64(u64): |value: u64| i64::try_from(value) + .ok() + .and_then(|v| NaiveDateTime::from_timestamp_opt(v, 0)) .ok_or_else(|| E::custom(ne_timestamp(value))), }