]> granicus.if.org Git - php/commitdiff
Promote empty filename to ValueError in BZ2 extension
authorGeorge Peter Banyard <girgias@php.net>
Fri, 31 Jul 2020 13:01:05 +0000 (14:01 +0100)
committerGeorge Peter Banyard <girgias@php.net>
Fri, 31 Jul 2020 13:01:05 +0000 (14:01 +0100)
ext/bz2/bz2.c
ext/bz2/tests/001.phpt

index a57d1f6e90deb67766c81edbd0f5c5e6a3b91025..7925ace04903a0f489fab1c48898570e2cd665cc 100644 (file)
@@ -350,7 +350,7 @@ PHP_FUNCTION(bzopen)
        /* If it's not a resource its a string containing the filename to open */
        if (Z_TYPE_P(file) == IS_STRING) {
                if (Z_STRLEN_P(file) == 0) {
-                       php_error_docref(NULL, E_WARNING, "Filename cannot be empty");
+                       zend_argument_value_error(1, "cannot be empty");
                        RETURN_FALSE;
                }
 
index 3e7af7450a4377c5a59627e627006a85a723904f..9561d5ac0f72d54ac8fb877e4ede1defa924e265 100644 (file)
@@ -6,44 +6,45 @@ bzopen() and invalid parameters
 <?php
 
 try {
-    var_dump(bzopen("", ""));
+    var_dump(bzopen("", "r"));
 } catch (\ValueError $e) {
     echo $e->getMessage() . \PHP_EOL;
 }
 
- var_dump(bzopen("", "r"));
-var_dump(bzopen("", "w"));
+try {
+    var_dump(bzopen("", "w"));
+} catch (\ValueError $e) {
+    echo $e->getMessage() . \PHP_EOL;
+}
 
 try {
-    var_dump(bzopen("", "x"));
+    var_dump(bzopen("no_such_file", ""));
 } catch (\ValueError $e) {
     echo $e->getMessage() . \PHP_EOL;
 }
 
 try {
-    var_dump(bzopen("", "rw"));
+    var_dump(bzopen("no_such_file", "x"));
 } catch (\ValueError $e) {
     echo $e->getMessage() . \PHP_EOL;
 }
 
 try {
-    var_dump(bzopen("no_such_file", "r"));
+    var_dump(bzopen("no_such_file", "rw"));
 } catch (\ValueError $e) {
     echo $e->getMessage() . \PHP_EOL;
 }
 
+var_dump(bzopen("no_such_file", "r"));
+
 $fp = fopen(__FILE__,"r");
 var_dump(bzopen($fp, "r"));
 
 ?>
 --EXPECTF--
+bzopen(): Argument #1 ($file) cannot be empty
+bzopen(): Argument #1 ($file) cannot be empty
 bzopen(): Argument #2 ($mode) must be either "r" or "w"
-
-Warning: bzopen(): Filename cannot be empty in %s on line %d
-bool(false)
-
-Warning: bzopen(): Filename cannot be empty in %s on line %d
-bool(false)
 bzopen(): Argument #2 ($mode) must be either "r" or "w"
 bzopen(): Argument #2 ($mode) must be either "r" or "w"