Skip to content

Stdlib: range() ValueError on INF/-INF bounds (#27927) - #27976

Merged
PurHur merged 1 commit into
masterfrom
fix/27927-range-nonfinite-bounds
Aug 6, 2026
Merged

Stdlib: range() ValueError on INF/-INF bounds (#27927)#27976
PurHur merged 1 commit into
masterfrom
fix/27927-range-nonfinite-bounds

Conversation

@PurHur

@PurHur PurHur commented Aug 6, 2026

Copy link
Copy Markdown
Owner

Summary

  • range($start, $end) with non-finite float bounds throws ValueError: Invalid range supplied: start=… end=… matching Zend 8.2 (±INFinf, finite via %0.0f).
  • php-src: ext/standard/array.cPHP_FUNCTION(range) / boundary checks.
  • PHP-in-PHP in VmRange::buildFloatRange (no new runtime/*.c).

Closes #27927

Test plan

  • Zend / VM / JIT on test/repro/issue_27927_range_nonfinite_bounds.php — identical
  • vendor/bin/phpunit --filter RangeNonfiniteBoundsTest
  • Finite range(1,3) unchanged

Verification

ValueError:Invalid range supplied: start=0 end=inf
ValueError:Invalid range supplied: start=inf end=0
ValueError:Invalid range supplied: start=0 end=inf

Made with Cursor

Reject non-finite float endpoints with Zend-identical Invalid range supplied messages.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit c5bf313 into master Aug 6, 2026
1 check failed
@PurHur
PurHur deleted the fix/27927-range-nonfinite-bounds branch August 6, 2026 01:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stdlib: range() with INF/-INF bounds returns [] — Zend ValueError (ext/standard/array.c)

1 participant