cve-2014-3538.phpt 695 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. --TEST--
  2. Bug #66731: file: extensive backtracking
  3. --EXTENSIONS--
  4. fileinfo
  5. --SKIPIF--
  6. <?php
  7. if (defined("PHP_DEBUG") && PHP_DEBUG)
  8. die("skip not suitable for debug build");
  9. if (getenv('SKIP_PERF_SENSITIVE'))
  10. die("skip performance sensitive test");
  11. ?>
  12. --FILE--
  13. <?php
  14. $fd = __DIR__.'/cve-2014-3538.data';
  15. file_put_contents($fd,
  16. 'try:' .
  17. str_repeat("\n", 1000000));
  18. $fi = finfo_open(FILEINFO_NONE);
  19. $t = microtime(true);
  20. var_dump(finfo_file($fi, $fd));
  21. $t = microtime(true) - $t;
  22. finfo_close($fi);
  23. if ($t < 1.5) {
  24. echo "Ok\n";
  25. } else {
  26. printf("Failed, time=%.2f\n", $t);
  27. }
  28. ?>
  29. Done
  30. --CLEAN--
  31. <?php
  32. @unlink(__DIR__.'/cve-2014-3538.data');
  33. ?>
  34. --EXPECTF--
  35. string(%d) "%s"
  36. Ok
  37. Done