PHP :: Bug #46164 :: stream_filter_remove() closes the stream
| Bug #46164 | stream_filter_remove() closes the stream | ||||
|---|---|---|---|---|---|
| Submitted: | 2008-09-24 04:46 UTC | Modified: | 2008-10-05 01:42 UTC | ||
| From: | lbarnaud@php.net | Assigned: | |||
| Status: | Closed | Package: | Streams related | ||
| PHP Version: | 5.3CVS-2008-09-24 (CVS) | OS: | * | ||
| Private report: | No | CVE-ID: | None | ||
[2008-09-24 04:46 UTC] lbarnaud@php.net
Description:
------------
Calling stream_filter_remove() closes the stream when the filter is a user filter.
Reproduce code:
---------------
class user_filter extends php_user_filter {
function filter($in, $out, &$consumed, $closing) {
while($bucket = stream_bucket_make_writeable($in)) {
$consumed += $bucket->datalen;
stream_bucket_append($out, $bucket);
}
return PSFS_PASS_ON;
}
}
stream_filter_register('user_filter','user_filter');
$fd = fopen('/tmp/test','w');
$filter = stream_filter_append($fd, 'user_filter');
stream_filter_remove($filter);
var_dump(fclose($fd));
Expected result:
----------------
bool(true)
Actual result:
--------------
Warning: fclose(): 5 is not a valid stream resource in /tmp/rep.php on line 15
bool(false)
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2008-10-05 01:42 UTC] lbarnaud@php.net