bug78987.phpt 767 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. --TEST--
  2. Bug #78987 High memory usage during encoding detection
  3. --EXTENSIONS--
  4. fileinfo
  5. --INI--
  6. memory_limit=512M
  7. --FILE--
  8. <?php
  9. $finfo = new finfo(FILEINFO_MIME_TYPE);
  10. $minSize = 128 * 1024;
  11. $maxSize = 16 * 1024 * 1024;
  12. $map = array(
  13. 131072 => 9113600,
  14. 262144 => 9113600,
  15. 524288 => 10850304,
  16. 1048576 => 11210752,
  17. 2097152 => 13312000,
  18. 4194304 => 17510400,
  19. 8388608 => 23801856,
  20. 16777216 => 36384768,
  21. );
  22. for($size = $minSize; $size <= $maxSize; $size *= 2) {
  23. $content = str_repeat('0', $size);
  24. $finfo->buffer($content);
  25. $m = memory_get_peak_usage(true);
  26. printf("%-8d => %s\n", $size, $m <= $map[$size] ? "ok" : "$m");
  27. }
  28. ?>
  29. --EXPECT--
  30. 131072 => ok
  31. 262144 => ok
  32. 524288 => ok
  33. 1048576 => ok
  34. 2097152 => ok
  35. 4194304 => ok
  36. 8388608 => ok
  37. 16777216 => ok