Daniel Kinzler has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/215920

Change subject: Avoid data loss if compression fails
......................................................................

Avoid data loss if compression fails

Change-Id: I0b6de030b101fdc3b2ea2cd0c15913e33e9da98d
---
M includes/Revision.php
1 file changed, 13 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/20/215920/1

diff --git a/includes/Revision.php b/includes/Revision.php
index 3ba6157..9bb4d16 100644
--- a/includes/Revision.php
+++ b/includes/Revision.php
@@ -1284,8 +1284,14 @@
 
                if ( $wgCompressRevisions ) {
                        if ( function_exists( 'gzdeflate' ) ) {
-                               $text = gzdeflate( $text );
-                               $flags[] = 'gzip';
+                               $deflated = gzdeflate( $text );
+
+                               if ( $deflated === false ) {
+                                       wfLogWarning( __METHOD__ . ': 
gzdeflate() failed' );
+                               } else {
+                                       $text = $deflated;
+                                       $flags[] = 'gzip';
+                               }
                        } else {
                                wfDebug( __METHOD__ . " -- no zlib support, not 
compressing\n" );
                        }
@@ -1306,6 +1312,11 @@
                        # This can be done periodically via 
maintenance/compressOld.php, and
                        # as pages are saved if $wgCompressRevisions is set.
                        $text = gzinflate( $text );
+
+                       if ( $text === false ) {
+                               wfLogWarning( __METHOD__ . ': gzinflate() 
failed' );
+                               return false;
+                       }
                }
 
                if ( in_array( 'object', $flags ) ) {

-- 
To view, visit https://gerrit.wikimedia.org/r/215920
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0b6de030b101fdc3b2ea2cd0c15913e33e9da98d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Daniel Kinzler <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to