uutils/coreutils
View on GitHubDate rejects valid large years that GNU date accepts
Open
#9774 opened on Dec 22, 2025
U - datefuzzinggood first issue
Description
GNU:
$ LANG=C TZ=UTC0 /usr/bin/date -d "18978-01-01"
Thu Jan 1 00:00:00 UTC 18978
Rust:
$ LANG=C TZ=UTC0 ./target/debug/date -d "18978-01-01"
date: invalid date '18978-01-01'
- GNU date: Accepts year 18978 and outputs the date correctly
- Rust date: Rejects year 18978 as invalid date, appears to have a limit around year 9999
- GNU date supports much larger year ranges than our implementation
Found with a fuzzer