diff options
| -rw-r--r-- | main/output.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/main/output.c b/main/output.c index 24e879febe..dff4959972 100644 --- a/main/output.c +++ b/main/output.c @@ -867,10 +867,12 @@ PHP_FUNCTION(ob_get_flush) /* error checks */ if (!OG(ob_nesting_level)) { php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to delete and flush buffer. No buffer to delete or flush."); + zval_dtor(return_value); RETURN_FALSE; } if (OG(ob_nesting_level) && !OG(active_ob_buffer).status && !OG(active_ob_buffer).erase) { php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to delete buffer %s.", OG(active_ob_buffer).handler_name); + zval_dtor(return_value); RETURN_FALSE; } /* flush */ @@ -892,10 +894,12 @@ PHP_FUNCTION(ob_get_clean) /* error checks */ if (!OG(ob_nesting_level)) { php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to delete buffer. No buffer to delete."); + zval_dtor(return_value); RETURN_FALSE; } if (OG(ob_nesting_level) && !OG(active_ob_buffer).status && !OG(active_ob_buffer).erase) { php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to delete buffer %s.", OG(active_ob_buffer).handler_name); + zval_dtor(return_value); RETURN_FALSE; } /* delete buffer */ |
