From fe71080c59b400c8d9020c4eeb1065e8b1ae9508 Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Fri, 10 Jan 2020 11:16:14 +0100 Subject: [PATCH] Bug 698496: Handle leap years correctly in the Date constructor. InLeapYear expects the parameter to be a timestamp and not a year. Use DaysInYear instead. Thanks to Robert Rosendahl for spotting this. --- jsdate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jsdate.c b/jsdate.c index ea3db53..a42606e 100644 --- a/jsdate.c +++ b/jsdate.c @@ -217,7 +217,7 @@ static double MakeDay(double y, double m, double date) return NAN; yd = floor(TimeFromYear(y) / msPerDay); - md = firstDayOfMonth[InLeapYear(y)][im]; + md = firstDayOfMonth[DaysInYear(y) == 366][im]; return yd + md + date - 1; }