]> granicus.if.org Git - php/commitdiff
fix bug #60322 (ob_get_clean() now raises an E_NOTICE if no buffers exist)
authorStanislav Malyshev <stas@php.net>
Mon, 26 Dec 2011 05:01:46 +0000 (05:01 +0000)
committerStanislav Malyshev <stas@php.net>
Mon, 26 Dec 2011 05:01:46 +0000 (05:01 +0000)
main/output.c
tests/output/bug60322.phpt [new file with mode: 0644]

index 2ee34f59a423710db9272328b518ba60c366f6d3..b42809fcbc7b486c6966455bac7dc8f9e0e16d26 100644 (file)
@@ -1360,6 +1360,10 @@ PHP_FUNCTION(ob_get_clean)
                return;
        }
 
+       if(!OG(active)) {
+               RETURN_FALSE;
+       }
+
        if (php_output_get_contents(return_value TSRMLS_CC) == FAILURE) {
                php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to delete buffer. No buffer to delete");
                RETURN_FALSE;
diff --git a/tests/output/bug60322.phpt b/tests/output/bug60322.phpt
new file mode 100644 (file)
index 0000000..c28ab4d
--- /dev/null
@@ -0,0 +1,8 @@
+--TEST--
+Bug #60322 (ob_get_clean() now raises an E_NOTICE if no buffers exist)
+--FILE--
+<?php
+while(ob_get_clean()) ;
+var_dump(ob_get_clean());
+--EXPECT--
+bool(false)