From 1902b8e8fb03a7c41316fa80c589a51aa3923aa9 Mon Sep 17 00:00:00 2001 From: Howard Hinnant Date: Thu, 30 Nov 2017 10:45:30 -0500 Subject: [PATCH] Range check year on parse --- include/date/date.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/date/date.h b/include/date/date.h index 9902b0c..5af9dd2 100644 --- a/include/date/date.h +++ b/include/date/date.h @@ -6996,6 +6996,8 @@ from_stream(std::basic_istream& is, const CharT* fmt, else if (day(static_cast(d)) != ymd.day()) goto broken; } + if (Y < static_cast(year::min()) || Y > static_cast(year::max())) + goto broken; auto ymd = year{Y}/m/d; if (wd != not_a_weekday && ymd.ok()) {