-
Notifications
You must be signed in to change notification settings - Fork 845
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No panic on timestamp buffer overflow #3519
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It might be nice to include a test within the cast kernel or something
Thanks @tustvold for your feedback, there is already a test attached to test old date. Please let me know if that is not enought |
Benchmark runs are scheduled for baseline = 25a11ba and contender = 84e0cc1. 84e0cc1 is a master commit associated with this PR. Results will be available as each benchmark for each run completes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @comphead !
@@ -373,6 +385,9 @@ impl Parser for Time32SecondType { | |||
/// Number of days between 0001-01-01 and 1970-01-01 | |||
const EPOCH_DAYS_FROM_CE: i32 = 719_163; | |||
|
|||
/// Error message if nanosecond conversion request beyond supported interval | |||
const ERR_NANOSECONDS_NOT_SUPPORTED: &str = "The dates that can be represented as nanoseconds have to be between 1677-09-21T00:12:44.0 and 2262-04-11T23:47:16.854775804"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❤️
Which issue does this PR close?
Closes #3512.
Rationale for this change
No panic on timestamp buffer overflow, when casting happens for nanoseconds for dates beyond supported by
chrono-rs
What changes are included in this PR?
Defensive check added to prevent panic
Are there any user-facing changes?
No