bug39673.phpt 575 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. --TEST--
  2. Bug #39673 (file_get_contents causes bus error on certain offsets)
  3. --FILE--
  4. <?php
  5. $str = str_repeat("test", 3456);
  6. $filename = __DIR__.'/bug39673.txt';
  7. file_put_contents($filename, $str);
  8. $offsets = array(
  9. -1,
  10. 0,
  11. 3456*4,
  12. 3456*4 - 1,
  13. 3456*4 + 1,
  14. 2000,
  15. 5000,
  16. 100000,
  17. );
  18. foreach ($offsets as $offset) {
  19. $r = file_get_contents($filename, false, null, $offset);
  20. if ($r !== false) var_dump(strlen($r));
  21. }
  22. @unlink($filename);
  23. echo "Done\n";
  24. ?>
  25. --EXPECT--
  26. int(1)
  27. int(13824)
  28. int(0)
  29. int(1)
  30. int(0)
  31. int(11824)
  32. int(8824)
  33. int(0)
  34. Done