}
if (CHECK_ZVAL_NULL_PATH(file)) {
- RETURN_FALSE;
+ zend_type_error("filename must not contain null bytes");
+ return;
}
stream = php_stream_bz2open(NULL, Z_STRVAL_P(file), mode, REPORT_ERRORS, NULL);
--- /dev/null
+--TEST--
+bzopen(): throw TypeError if filename contains null bytes
+--SKIPIF--
+<?php if (!extension_loaded("bz2")) print "skip"; ?>
+--FILE--
+<?php
+
+try {
+ bzopen("file\0", "w");
+} catch (\TypeError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
+
+try {
+ bzopen("file\0", "r");
+} catch (\TypeError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
+
+?>
+--EXPECT--
+filename must not contain null bytes
+filename must not contain null bytes