null_byte_1.phpt 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. --TEST--
  2. Protect against null bytes in LOB filenames
  3. --SKIPIF--
  4. <?php
  5. if (!extension_loaded('oci8'))
  6. die ("skip no oci8 extension");
  7. if (PHP_MAJOR_VERSION < 5 || (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION < 4))
  8. die ("skip Test only valid for PHP 5.4 onwards");
  9. ?>
  10. --INI--
  11. display_errors = On
  12. error_reporting = E_WARNING
  13. --FILE--
  14. <?php
  15. // See http://news.php.net/php.internals/50202
  16. // http://svn.php.net/viewvc?view=revision&revision=311870
  17. require(dirname(__FILE__).'/connect.inc');
  18. // Run Test
  19. echo "Test 1: Import\n";
  20. $lob = oci_new_descriptor($c, OCI_D_LOB);
  21. $r = $lob->savefile("/tmp/abc\0def");
  22. var_dump($r);
  23. echo "Test 2: Export\n";
  24. $r = $lob->export("/tmp/abc\0def");
  25. var_dump($r);
  26. ?>
  27. ===DONE===
  28. <?php exit(0); ?>
  29. --EXPECTF--
  30. Test 1: Import
  31. Warning: OCI-Lob::savefile() expects parameter 1 to be a valid path, string given in %snull_byte_1.php on line %d
  32. NULL
  33. Test 2: Export
  34. Warning: OCI-Lob::export() expects parameter 1 to be a valid path, string given in %snull_byte_1.php on line %d
  35. NULL
  36. ===DONE===