Merge branch 'PHP-8.4'

* PHP-8.4:
  Fix GH-17503: Undefined float conversion in mb_convert_variables
This commit is contained in:
Christoph M. Becker 2025-02-04 15:55:06 +01:00
commit 61f42f2d4e
No known key found for this signature in database
GPG key ID: D66C9593118BCCB6
2 changed files with 13 additions and 1 deletions

View file

@ -3348,7 +3348,8 @@ try_next_encoding:;
}
for (size_t i = 0; i < length; i++) {
array[i].demerits = (uint64_t) (array[i].demerits * array[i].multiplier);
double demerits = array[i].demerits * (double) array[i].multiplier;
array[i].demerits = demerits < (double) UINT64_MAX ? (uint64_t) demerits : UINT64_MAX;
}
return length;

View file

@ -0,0 +1,11 @@
--TEST--
GH-17503 (Undefined float conversion in mb_convert_variables)
--EXTENSIONS--
mbstring
--FILE--
<?php
$a = array_fill(0, 500, "<blah>");
var_dump(mb_convert_variables("ASCII", ["UTF-8", "UTF-16"], $a));
?>
--EXPECT--
string(5) "UTF-8"