Index: src/wp-admin/includes/class-pclzip.php
===================================================================
--- src/wp-admin/includes/class-pclzip.php	(revision 50054)
+++ src/wp-admin/includes/class-pclzip.php	(working copy)
@@ -3884,7 +3884,12 @@
 
 
             // ----- Read the compressed file in a buffer (one shot)
-            $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']);
+            if ( $p_entry['compressed_size'] > 0 ) {
+              $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']);
+            }
+            else {
+              $v_buffer = false;
+            }
 
             // ----- Decompress the file
             $v_file_content = @gzinflate($v_buffer);
@@ -4096,7 +4101,12 @@
         if ($p_entry['compressed_size'] == $p_entry['size']) {
 
           // ----- Read the file in a buffer (one shot)
-          $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']);
+          if ( $p_entry['compressed_size'] > 0 ) {
+            $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']);
+          }
+          else {
+            $v_buffer = false;
+          }
 
           // ----- Send the file to the output
           echo $v_buffer;
@@ -4105,7 +4115,12 @@
         else {
 
           // ----- Read the compressed file in a buffer (one shot)
-          $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']);
+          if ( $p_entry['compressed_size'] > 0 ) {
+            $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']);
+          }
+          else {
+            $v_buffer = false;
+          }
 
           // ----- Decompress the file
           $v_file_content = gzinflate($v_buffer);
@@ -4209,12 +4224,22 @@
         if ($p_entry['compression'] == 0) {
 
           // ----- Reading the file
-          $p_string = @fread($this->zip_fd, $p_entry['compressed_size']);
+          if ( $p_entry['compressed_size'] > 0 ) {
+            $p_string = @fread($this->zip_fd, $p_entry['compressed_size']);
+          }
+          else {
+            $p_string = false;
+          }
         }
         else {
 
           // ----- Reading the file
-          $v_data = @fread($this->zip_fd, $p_entry['compressed_size']);
+          if ( $p_entry['compressed_size'] > 0 ) {
+            $v_data = @fread($this->zip_fd, $p_entry['compressed_size']);
+          }
+          else {
+            $v_data = false;
+          }
 
           // ----- Decompress the file
           if (($p_string = @gzinflate($v_data)) === FALSE) {
