uutils / uutils/coreutils

bug(date): when using the year `0000` with `EDT` will get normalized to LMT, and results an invalid date

Open
#12,944 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

U - date
Dominant language
Rust
Stars
24.1k
Forks
2k
Avg merge
1d 5h
Merged PRs (30d)
365

Description

Hi, uutils mainteners

we identified a serious illogical bug in the uu date as we confirmed

relunsec@relunsec:~/software/coreutils/target/debug$ ./date -d "Jun 1 00:00:00 EDT 0000"
Wed May 31 11:03:58 PM LMT 0000
relunsec@relunsec:~/software/coreutils/target/debug$ 

the date is invalid and physically and historically not exist and outputted anyway, whiches a bug in the normalization interestingly
passing LMT directly to 0000 will be rejected by the uu date

relunsec@relunsec:~/software/coreutils/target/debug$ ./date -d "Jun 1 00:00:00 LMT 0000"
date: invalid date 'Jun 1 00:00:00 LMT 0000'

the problem here looks like after EDT normalized to LMT, then results on 0000 LMT whiches invalid, it is a problem in the normalization looks like

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the two ./date -d examples from the issue and compare the EDT and LMT handling for year 0000. Trace the date parsing and timezone-normalization entry points used by the date command; done means the invalid normalized date is rejected consistently without regressing valid timezone inputs.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.