null_byte_1.phpt 931 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. --TEST--
  2. Protect against null bytes in LOB filenames
  3. --EXTENSIONS--
  4. oci8
  5. --SKIPIF--
  6. <?php
  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. --FILE--
  13. <?php
  14. // See http://news.php.net/php.internals/50202
  15. // http://svn.php.net/viewvc?view=revision&revision=311870
  16. require(__DIR__.'/connect.inc');
  17. // Run Test
  18. echo "Test 1: Import\n";
  19. $lob = oci_new_descriptor($c, OCI_D_LOB);
  20. try {
  21. $lob->saveFile("/tmp/abc\0def");
  22. } catch (ValueError $e) {
  23. echo $e->getMessage(), "\n";
  24. }
  25. echo "Test 2: Export\n";
  26. try {
  27. $lob->export("/tmp/abc\0def");
  28. } catch (ValueError $e) {
  29. echo $e->getMessage(), "\n";
  30. }
  31. ?>
  32. --EXPECT--
  33. Test 1: Import
  34. OCILob::saveFile(): Argument #1 ($filename) must not contain any null bytes
  35. Test 2: Export
  36. OCILob::export(): Argument #1 ($filename) must not contain any null bytes