xref: /PHP-8.3/ext/fileinfo/tests/bug78987.phpt (revision 4ded2476)
1--TEST--
2Bug #78987 High memory usage during encoding detection
3--EXTENSIONS--
4fileinfo
5--INI--
6memory_limit=512M
7--FILE--
8<?php
9$finfo = new finfo(FILEINFO_MIME_TYPE);
10$minSize = 128 * 1024;
11$maxSize = 16 * 1024 * 1024;
12
13$map = array(
14	131072 => 10612736,
15	262144 => 10612736,
16	524288 => 12189696,
17	1048576 => 12709888,
18	2097152 => 14811136,
19	4194304 => 19009536,
20	8388608 => 25300992,
21	16777216 => 37883904,
22);
23for($size = $minSize; $size <= $maxSize; $size *= 2) {
24	$content = str_repeat('0', $size);
25
26	$finfo->buffer($content);
27
28	$m = memory_get_peak_usage(true);
29	printf("%-8d => %s\n", $size, $m <= $map[$size] ? "ok" : "$m");
30}
31?>
32--EXPECT--
33131072   => ok
34262144   => ok
35524288   => ok
361048576  => ok
372097152  => ok
384194304  => ok
398388608  => ok
4016777216 => ok
41