From 3b64e6b919a9f094d6b211b5d3bfde3ece807a85 Mon Sep 17 00:00:00 2001 From: Antoine Musso Date: Mon, 7 Nov 2011 14:46:49 +0000 Subject: [PATCH] dieout when file is a boolean On file operation errors, the file variable can be assigned boolean false which is not a valid handle. Those backtrace can help users debug an issue when generating a filemap. --- maintenance/generateSitemap.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/maintenance/generateSitemap.php b/maintenance/generateSitemap.php index ab129f5452..bed23b76b3 100644 --- a/maintenance/generateSitemap.php +++ b/maintenance/generateSitemap.php @@ -347,13 +347,20 @@ class GenerateSitemap extends Maintenance { * @return Resource */ function open( $file, $flags ) { - return $this->compress ? gzopen( $file, $flags ) : fopen( $file, $flags ); + $ressource = $this->compress ? gzopen( $file, $flags ) : fopen( $file, $flags ); + if( $ressource === false ) { + wfDebugDieBacktrace( __METHOD__ . " error opening file $file with flags $flags. Check permissions?" ); + } + return $ressource; } /** * gzwrite() / fwrite() wrapper */ function write( &$handle, $str ) { + if( $handle === true || $handle === false ) { + wfDebugDieBacktrace( __METHOD__ . " was passed a boolean as a file handle.\n" ); + } if ( $this->compress ) gzwrite( $handle, $str ); else -- 2.20.1