1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 00:02:20 +01:00

Merge branch 'PHP-8.3' into PHP-8.4

* PHP-8.3:
  Fix GH-16454: Unhandled INF in date_sunset() with tiny $utcOffset
This commit is contained in:
Christoph M. Becker
2024-10-18 13:23:59 +02:00
3 changed files with 36 additions and 0 deletions

4
NEWS
View File

@@ -24,6 +24,10 @@ PHP NEWS
. Fixed bug GH-16359 (crash with curl_setopt* CURLOPT_WRITEFUNCTION
without null callback). (David Carlier)
- Date:
. Fixed bug GH-16454 (Unhandled INF in date_sunset() with tiny $utcOffset).
(cmb)
- DOM:
. Fixed bug GH-16316 (DOMXPath breaks when not initialized properly).
(nielsdos)

View File

@@ -5555,6 +5555,9 @@ static void php_do_date_sunrise_sunset(INTERNAL_FUNCTION_PARAMETERS, bool calc_s
if (N > 24 || N < 0) {
N -= floor(N / 24) * 24;
}
if (N > 24 || N < 0) {
RETURN_FALSE;
}
switch (retformat) {
case SUNFUNCS_RET_STRING:

View File

@@ -0,0 +1,29 @@
--TEST--
GH-16454 (Unhandled INF in date_sunset() with tiny $utcOffset)
--FILE--
<?php
var_dump(date_sunrise(0, SUNFUNCS_RET_STRING, 61, -150, 90, PHP_FLOAT_MAX));
var_dump(date_sunrise(0, SUNFUNCS_RET_STRING, 61, -150, 90, -PHP_FLOAT_MAX));
var_dump(date_sunset(0, SUNFUNCS_RET_STRING, 61, -150, 90, PHP_FLOAT_MAX));
var_dump(date_sunset(0, SUNFUNCS_RET_STRING, 61, -150, 90, -PHP_FLOAT_MAX));
?>
--EXPECTF--
Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in %s on line %d
Deprecated: Function date_sunrise() is deprecated since 8.1, use date_sun_info() instead in %s on line %d
bool(false)
Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in %s on line %d
Deprecated: Function date_sunrise() is deprecated since 8.1, use date_sun_info() instead in %s on line %d
bool(false)
Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in %s on line %d
Deprecated: Function date_sunset() is deprecated since 8.1, use date_sun_info() instead in %s on line %d
bool(false)
Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in %s on line %d
Deprecated: Function date_sunset() is deprecated since 8.1, use date_sun_info() instead in %s on line %d
bool(false)