From: Joe Watkins Date: Fri, 30 Sep 2016 06:21:01 +0000 (+0100) Subject: fix user filter bug X-Git-Tag: php-7.1.0RC4~107^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=98705148f003551c330ace7f702448333a789180;p=php fix user filter bug --- diff --git a/ext/standard/tests/streams/user_streams_consumed_bug.phpt b/ext/standard/tests/streams/user_streams_consumed_bug.phpt new file mode 100644 index 0000000000..147a7bd0a7 --- /dev/null +++ b/ext/standard/tests/streams/user_streams_consumed_bug.phpt @@ -0,0 +1,32 @@ +--TEST-- +Testing user filter on streams +--FILE-- +data; + $consumed += $bucket->datalen; + stream_bucket_append($out, $bucket); + } + return PSFS_PASS_ON; + } +} + +$out = fwrite(STDOUT, "Hello\n"); +var_dump($out); + +stream_filter_register("intercept_filter", "Intercept"); +stream_filter_append(STDOUT, "intercept_filter"); + +$out = fwrite(STDOUT, "Goodbye\n"); +var_dump($out); +--EXPECTF-- +Hello +int(6) +Goodbye +int(8) + diff --git a/ext/standard/user_filters.c b/ext/standard/user_filters.c index b31235b4f1..5ca6e0bb1f 100644 --- a/ext/standard/user_filters.c +++ b/ext/standard/user_filters.c @@ -217,7 +217,7 @@ php_stream_filter_status_t userfilter_filter( } if (bytes_consumed) { - *bytes_consumed = Z_LVAL_P(&args[2]); + *bytes_consumed = zval_get_long(&args[2]); } if (buckets_in->head) {