Skip to content

Commit

Permalink
Merge branch 'PHP-8.4'
Browse files Browse the repository at this point in the history
* PHP-8.4:
  Fix GH-17503: Undefined float conversion in mb_convert_variables
  • Loading branch information
cmb69 committed Feb 4, 2025
2 parents 7ee1a87 + 47a0922 commit 61f42f2
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
3 changes: 2 additions & 1 deletion ext/mbstring/mbstring.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
11 changes: 11 additions & 0 deletions ext/mbstring/tests/gh17503.phpt
Original file line number Diff line number Diff line change
@@ -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"

0 comments on commit 61f42f2

Please sign in to comment.