diff options
author | David M <davidmj@users.sourceforge.net> | 2007-07-13 03:16:59 +0000 |
---|---|---|
committer | David M <davidmj@users.sourceforge.net> | 2007-07-13 03:16:59 +0000 |
commit | b011f383f96f858782f40fde03bc4b7008c4b280 (patch) | |
tree | 84eefd7dc0feaf0be53a3820906b9f35c37c39c3 | |
parent | c1531d9925585dbbbaa395ba10f16e7575aa1272 (diff) | |
download | forums-b011f383f96f858782f40fde03bc4b7008c4b280.tar forums-b011f383f96f858782f40fde03bc4b7008c4b280.tar.gz forums-b011f383f96f858782f40fde03bc4b7008c4b280.tar.bz2 forums-b011f383f96f858782f40fde03bc4b7008c4b280.tar.xz forums-b011f383f96f858782f40fde03bc4b7008c4b280.zip |
#13327
git-svn-id: file:///svn/phpbb/trunk@7877 89ea8834-ac86-4346-8a33-228a782c2dd0
-rw-r--r-- | phpBB/docs/CHANGELOG.html | 1 | ||||
-rw-r--r-- | phpBB/includes/functions_compress.php | 28 |
2 files changed, 18 insertions, 11 deletions
diff --git a/phpBB/docs/CHANGELOG.html b/phpBB/docs/CHANGELOG.html index 99253f7f43..6b71b55017 100644 --- a/phpBB/docs/CHANGELOG.html +++ b/phpBB/docs/CHANGELOG.html @@ -221,6 +221,7 @@ p a { <li>[Fix] Correctly deliver avatar if readfile function has been disabled (Bug #13309)</li> <li>[Fix] Display php information page with the correct direction (Bug #12557)</li> <li>[Fix] Increased the number of style objects (styles, templates, themes and imagesets) possible from 127 to 65535 for MySQL (Bug #13179)</li> + <li>[Fix] Although theoretically impossible in our code, removed the chance of (Bug #13327)</li> </ul> diff --git a/phpBB/includes/functions_compress.php b/phpBB/includes/functions_compress.php index d8267cf7f6..ade844b262 100644 --- a/phpBB/includes/functions_compress.php +++ b/phpBB/includes/functions_compress.php @@ -12,7 +12,7 @@ * Class for handling archives (compression/decompression) * @package phpBB3 */ -class compress +class compress { var $fp = 0; @@ -434,12 +434,15 @@ class compress_zip extends compress header("Content-Type: $mimetype; name=\"$download_name.zip\""); header("Content-disposition: attachment; filename=$download_name.zip"); - $fp = fopen("{$phpbb_root_path}store/$filename.zip", 'rb'); - while ($buffer = fread($fp, 1024)) + $fp = @fopen("{$phpbb_root_path}store/$filename.zip", 'rb'); + if ($fp) { - echo $buffer; + while ($buffer = fread($fp, 1024)) + { + echo $buffer; + } + fclose($fp); } - fclose($fp); } } @@ -546,8 +549,8 @@ class compress_tar extends compress { $fzwrite = ($this->isbz && function_exists('bzwrite')) ? 'bzwrite' : (($this->isgz && @extension_loaded('zlib')) ? 'gzwrite' : 'fwrite'); - // Symbolizes that there are no more files - $fzwrite($this->fp, str_repeat("\0", 512)); + // The end of a tar archive ends in two records of all NULLs (1024 bytes of \0) + $fzwrite($this->fp, str_repeat("\0", 1024)); } $fzclose($this->fp); @@ -648,12 +651,15 @@ class compress_tar extends compress header("Content-Type: $mimetype; name=\"$download_name$this->type\""); header("Content-disposition: attachment; filename=$download_name$this->type"); - $fp = fopen("{$phpbb_root_path}store/$filename$this->type", 'rb'); - while ($buffer = fread($fp, 1024)) + $fp = @fopen("{$phpbb_root_path}store/$filename$this->type", 'rb'); + if ($fp) { - echo $buffer; + while ($buffer = fread($fp, 1024)) + { + echo $buffer; + } + fclose($fp); } - fclose($fp); } } |