Skip to content

ext/calendar: jewishtojd overflow on year argument. #18849

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 3 commits into from

Conversation

devnexen
Copy link
Member

Upper limit set to the 7th millenium (Messianic Age) in the jewish calendar,
around 2239 year in the gregorian calendar.

Upper limit set to the 7th millenium (Messianic Age) in the jewish calendar,
 around 2239 year in the gregorian calendar.
@devnexen
Copy link
Member Author

devnexen commented Jun 14, 2025

upper limit can be changed (up to INT_MAX - 1), in practice I do not think there is a need to go too far in the future.

@SakiTakamachi
Copy link
Member

Since zend_long is being cast to int, there’s a possibility of overflow during the downcast as well...

@devnexen devnexen closed this in 2ccd2b0 Jun 23, 2025
@kingIZZZY
Copy link

🙋‍♂️ Can I kindly oppose this change?

This change would be similar to imposing a 215 year limit on PHP DateTime, is there a known and agreed upon 215 year limit on lifetime of PHP usage?

The Jewish calendar does not end at year 6000, the Messianic Age does not state that time ends at year 6000.

I'm not too worried because given the previous 3500+ years of history, if this limitation is not reverted now, someone else will be there requesting this arbitrary limit to be removed in 215 years from now. That, or PHP might already be extinct.

Looking forward continuing using PHP's jewish calendar functionality way past year 6000 - PHP will be 300 years old in year 6055 😁

@devnexen
Copy link
Member Author

I'm not too worried because given the previous 3500+ years of history, if this limitation is not reverted now, someone else will be there requesting this arbitrary limit to be removed in 215 years from now. That, or PHP might already be extinct.

exactly, you and I won't be here to see it anyway no need to lose sleep over it ;)

@kingIZZZY
Copy link

What I am losing sleep over is

  1. What bug or problem prompted this change to begin with? Is there a short summary description or bug report that answers this
  2. The very Messianic Age you mention specifically involves everlasting life 😁 (see current scientific studies in the areas of anti-aging medical/technological research & advancements)

you and I won't be here to see it anyway

Not so fast there :)

@devnexen
Copy link
Member Author

all jokes aside, here the bug in question.
As for the limit, it is not written in stone we can always update it but to which degree, is the question.

@kingIZZZY
Copy link

Fair enough I guess

I do like the eschatological code decision 😁 big fan of the Messianic Age making its way into PHP source 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants