From 745a2ced4aedc8504d868279fbe4f514092b64ae Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 24 Sep 2021 17:16:22 +0200 Subject: [PATCH] Fix #81475: stream_isatty emits warning with attached stream wrapper We must not issue warnings, if `show_err` is false. --- ext/standard/tests/filters/bug81475.phpt | 10 ++++++++++ main/streams/cast.c | 4 +++- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 ext/standard/tests/filters/bug81475.phpt diff --git a/ext/standard/tests/filters/bug81475.phpt b/ext/standard/tests/filters/bug81475.phpt new file mode 100644 index 0000000000000..253d5a75ea792 --- /dev/null +++ b/ext/standard/tests/filters/bug81475.phpt @@ -0,0 +1,10 @@ +--TEST-- +Bug #81475 (stream_isatty emits warning with attached stream wrapper) +--FILE-- + +--EXPECT-- +bool(false) diff --git a/main/streams/cast.c b/main/streams/cast.c index 73421a75880c8..2109239effa4e 100644 --- a/main/streams/cast.c +++ b/main/streams/cast.c @@ -295,7 +295,9 @@ PHPAPI int _php_stream_cast(php_stream *stream, int castas, void **ret, int show } if (php_stream_is_filtered(stream)) { - php_error_docref(NULL, E_WARNING, "cannot cast a filtered stream on this system"); + if (show_err) { + php_error_docref(NULL, E_WARNING, "cannot cast a filtered stream on this system"); + } return FAILURE; } else if (stream->ops->cast && stream->ops->cast(stream, castas, ret) == SUCCESS) { goto exit_success;