summaryrefslogtreecommitdiff
path: root/ext/oci8/tests/null_byte_1.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/oci8/tests/null_byte_1.phpt')
-rw-r--r--ext/oci8/tests/null_byte_1.phpt46
1 files changed, 46 insertions, 0 deletions
diff --git a/ext/oci8/tests/null_byte_1.phpt b/ext/oci8/tests/null_byte_1.phpt
new file mode 100644
index 0000000..0869d94
--- /dev/null
+++ b/ext/oci8/tests/null_byte_1.phpt
@@ -0,0 +1,46 @@
+--TEST--
+Protect against null bytes in LOB filenames
+--SKIPIF--
+<?php
+if (!extension_loaded('oci8'))
+ die ("skip no oci8 extension");
+if (PHP_MAJOR_VERSION < 5 || (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION < 4))
+ die ("skip Test only valid for PHP 5.4 onwards");
+?>
+--INI--
+display_errors = On
+error_reporting = E_WARNING
+--FILE--
+<?php
+
+// See http://news.php.net/php.internals/50202
+// http://svn.php.net/viewvc?view=revision&revision=311870
+
+require(dirname(__FILE__).'/connect.inc');
+
+// Run Test
+
+echo "Test 1: Import\n";
+
+$lob = oci_new_descriptor($c, OCI_D_LOB);
+$r = $lob->savefile("/tmp/abc\0def");
+var_dump($r);
+
+echo "Test 2: Export\n";
+
+$r = $lob->export("/tmp/abc\0def");
+var_dump($r);
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECTF--
+Test 1: Import
+
+Warning: OCI-Lob::savefile() expects parameter 1 to be a valid path, string given in %snull_byte_1.php on line %d
+NULL
+Test 2: Export
+
+Warning: OCI-Lob::export() expects parameter 1 to be a valid path, string given in %snull_byte_1.php on line %d
+NULL
+===DONE===