summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS1
-rw-r--r--ext/bz2/tests/002.phpt4
-rw-r--r--ext/standard/tests/file/bug76735.phpt8
-rw-r--r--main/streams/plain_wrapper.c4
4 files changed, 12 insertions, 5 deletions
diff --git a/NEWS b/NEWS
index 12a2de1385..6d8ed53499 100644
--- a/NEWS
+++ b/NEWS
@@ -19,6 +19,7 @@ PHP NEWS
- Standard:
. Fixed bug #80114 (parse_url does not accept URLs with port 0). (cmb, twosee)
. Fixed bug #76943 (Inconsistent stream_wrapper_restore() errors). (cmb)
+ . Fixed bug #76735 (Incorrect message in fopen on invalid mode). (cmb)
01 Oct 2020, PHP 7.3.23
diff --git a/ext/bz2/tests/002.phpt b/ext/bz2/tests/002.phpt
index a69514a711..1b0fd2a660 100644
--- a/ext/bz2/tests/002.phpt
+++ b/ext/bz2/tests/002.phpt
@@ -83,12 +83,12 @@ bool(false)
resource(%d) of type (stream)
resource(%d) of type (stream)
-Warning: fopen(bz_open_002.txt): failed to open stream: Bad file %s in %s on line %d
+Warning: fopen(bz_open_002.txt): failed to open stream: `br' is not a valid mode for fopen in %s on line %d
Warning: bzopen(): first parameter has to be string or file-resource in %s on line %d
bool(false)
-Warning: fopen(bz_open_002.txt): failed to open stream: Bad file %s in %s on line %d
+Warning: fopen(bz_open_002.txt): failed to open stream: `br' is not a valid mode for fopen in %s on line %d
Warning: bzopen(): first parameter has to be string or file-resource in %s on line %d
bool(false)
diff --git a/ext/standard/tests/file/bug76735.phpt b/ext/standard/tests/file/bug76735.phpt
new file mode 100644
index 0000000000..451988cc65
--- /dev/null
+++ b/ext/standard/tests/file/bug76735.phpt
@@ -0,0 +1,8 @@
+--TEST--
+Bug #76735 (Incorrect message in fopen on invalid mode)
+--FILE--
+<?php
+fopen(__FILE__, 'Q');
+?>
+--EXPECTF--
+Warning: fopen(%s): failed to open stream: `Q' is not a valid mode for fopen in %s on line %d
diff --git a/main/streams/plain_wrapper.c b/main/streams/plain_wrapper.c
index d00a6efe29..131f77c421 100644
--- a/main/streams/plain_wrapper.c
+++ b/main/streams/plain_wrapper.c
@@ -1021,9 +1021,7 @@ PHPAPI php_stream *_php_stream_fopen(const char *filename, const char *mode, zen
char *persistent_id = NULL;
if (FAILURE == php_stream_parse_fopen_modes(mode, &open_flags)) {
- if (options & REPORT_ERRORS) {
- php_error_docref(NULL, E_WARNING, "`%s' is not a valid mode for fopen", mode);
- }
+ php_stream_wrapper_log_error(&php_plain_files_wrapper, options, "`%s' is not a valid mode for fopen", mode);
return NULL;
}