diff options
author | David Coallier <davidc@php.net> | 2009-02-13 11:48:17 +0000 |
---|---|---|
committer | David Coallier <davidc@php.net> | 2009-02-13 11:48:17 +0000 |
commit | 2e5f11b8416b66e1502f511f6bf80fa51b88dc98 (patch) | |
tree | 263aa5190287e18c848c3458000d9e1cd83310c6 /main | |
parent | e28e05b155a2f4ec5d4f6e61ebcff13a4de7616e (diff) | |
download | php-git-2e5f11b8416b66e1502f511f6bf80fa51b88dc98.tar.gz |
- Fixed bug #46897: ob_flush() should fail to flush unerasable buffers
- Added test for bug46897
- A memleak has been identified while fixing this bug but the changes
made by this commit do not affect ob_get_clean where the memleak (which
is fixed in HEAD with the new handler) resides.
- [DOC] New noticed is outputted in ob_flush when the buffer is unerasable
Diffstat (limited to 'main')
-rw-r--r-- | main/output.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/main/output.c b/main/output.c index 28a6cea1a4..24e879febe 100644 --- a/main/output.c +++ b/main/output.c @@ -774,6 +774,11 @@ PHP_FUNCTION(ob_flush) RETURN_FALSE; } + if (!OG(active_ob_buffer).status && !OG(active_ob_buffer).erase) { + php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to flush buffer %s.", OG(active_ob_buffer).handler_name); + RETURN_FALSE; + } + php_end_ob_buffer(1, 1 TSRMLS_CC); RETURN_TRUE; } |