bug78863.phpt 746 B

12345678910111213141516171819202122232425262728293031
  1. --TEST--
  2. Bug #78863 (DirectoryIterator class silently truncates after a null byte)
  3. --FILE--
  4. <?php
  5. $dir = __DIR__ . '/bug78863';
  6. mkdir($dir);
  7. touch("$dir/bad");
  8. mkdir("$dir/sub");
  9. touch("$dir/sub/good");
  10. $it = new DirectoryIterator(__DIR__ . "/bug78863\0/sub");
  11. foreach ($it as $fileinfo) {
  12. if (!$fileinfo->isDot()) {
  13. var_dump($fileinfo->getFilename());
  14. }
  15. }
  16. ?>
  17. --EXPECTF--
  18. Fatal error: Uncaught ValueError: DirectoryIterator::__construct(): Argument #1 ($directory) must not contain any null bytes in %s:%d
  19. Stack trace:
  20. #0 %s(%d): DirectoryIterator->__construct('%s')
  21. #1 {main}
  22. thrown in %s on line %d
  23. --CLEAN--
  24. <?php
  25. $dir = __DIR__ . '/bug78863';
  26. unlink("$dir/sub/good");
  27. rmdir("$dir/sub");
  28. unlink("$dir/bad");
  29. rmdir($dir);
  30. ?>