From c2fbbc80e6811a44c337c72b382ec77fa04fa38a Mon Sep 17 00:00:00 2001 From: Edward Chernenko Date: Mon, 2 Apr 2018 00:39:59 +0300 Subject: [PATCH] Fix warning "ob_end_flush(): failed to delete and flush buffer" during uploads Bug: T186565 Change-Id: Ia4b29611ccee4acac11717f5220ff9e0fdbd55a9 (cherry picked from commit 30d72ec3d0914bb905d4114dee9256f02cbdcc7f) --- RELEASE-NOTES-1.31 | 1 + includes/filerepo/FileRepo.php | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/RELEASE-NOTES-1.31 b/RELEASE-NOTES-1.31 index abe8e7829c..a20970811a 100644 --- a/RELEASE-NOTES-1.31 +++ b/RELEASE-NOTES-1.31 @@ -143,6 +143,7 @@ production. * (T2087, T10897, T87753, T174639) Whitespace created by category and language links is now stripped rather than leaving blank lines in odd places. * (T3780) Uploads with UTF-8 names now work on PHP7.1+ on Windows servers. +* (T186565) Fix PHP Notice from `ob_end_flush()` in `FileRepo::streamFile()`. === Action API changes in 1.31 === * (T185058) The 'name' value to tgprop for action=query&list=tags has been diff --git a/includes/filerepo/FileRepo.php b/includes/filerepo/FileRepo.php index 28021effcf..b15f81fafe 100644 --- a/includes/filerepo/FileRepo.php +++ b/includes/filerepo/FileRepo.php @@ -1628,7 +1628,11 @@ class FileRepo { $status = $this->newGood(); $status->merge( $this->backend->streamFile( $params ) ); - ob_end_flush(); + // T186565: Close the buffer, unless it has already been closed + // in HTTPFileStreamer::resetOutputBuffers(). + if ( ob_get_status() ) { + ob_end_flush(); + } return $status; } -- 2.20.1