diff options
-rw-r--r-- | pear/PEAR/Common.php | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/pear/PEAR/Common.php b/pear/PEAR/Common.php index d1fccdb64d..03bb5c54a0 100644 --- a/pear/PEAR/Common.php +++ b/pear/PEAR/Common.php @@ -676,9 +676,17 @@ class PEAR_Common extends PEAR return $this->raiseError("could not open file \"$file\""); } $tar = new Archive_Tar($file); + if ($this->debug <= 1) { + $tar->pushErrorHandling(PEAR_ERROR_RETURN); + } $content = $tar->listContent(); + if ($this->debug <= 1) { + $tar->popErrorHandling(); + } if (!is_array($content)) { - return $this->raiseError("could not get contents of package \"$file\""); + $file = realpath($file); + return $this->raiseError("Could not get contents of package \"$file\"". + '. Invalid tgz file.'); } $xml = null; foreach ($content as $file) { |