1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 18:37:35 +00:00

LibJS: Reject -00000 as extended year in Date parsing

This commit is contained in:
Idan Horowitz 2022-04-30 20:50:17 +03:00 committed by Linus Groh
parent 0399239e3f
commit 9098257668
2 changed files with 4 additions and 0 deletions

View file

@ -59,6 +59,9 @@ static Value parse_simplified_iso8601(GlobalObject& global_object, String const&
Optional<int> absolute_year;
if (!lex_n_digits(6, absolute_year))
return false;
// The representation of the year 0 as -000000 is invalid.
if (absolute_year.value() == 0)
return false;
year = -absolute_year.value();
return true;
}

View file

@ -30,6 +30,7 @@ test("basic functionality", () => {
expect(Date.parse("1980-05-30T13:40+1:10")).toBe(NaN);
expect(Date.parse("1970-06-30T13:30Zoo")).toBe(NaN);
expect(Date.parse("2020T13:30.40:")).toBe(NaN);
expect(Date.parse("-000000")).toBe(NaN);
});
test("time clip", () => {