diff options
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | ext/bz2/tests/002.phpt | 4 | ||||
-rw-r--r-- | ext/standard/tests/file/bug76735.phpt | 8 | ||||
-rw-r--r-- | main/streams/plain_wrapper.c | 4 |
4 files changed, 12 insertions, 5 deletions
@@ -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; } |