aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorg Ehrke <georg@ownCloud.com>2013-05-30 10:44:23 +0200
committerGeorg Ehrke <georg@ownCloud.com>2013-05-30 10:44:27 +0200
commit5433a5046194a5c618c4cfdd253317d8f0eac69f (patch)
tree4f68b1e1bbabb913588d812fcbc3647ca482c9c2
parentd8008ae421850c825ae692960a26eb25ca48b986 (diff)
downloadnextcloud-server-5433a5046194a5c618c4cfdd253317d8f0eac69f.tar.gz
nextcloud-server-5433a5046194a5c618c4cfdd253317d8f0eac69f.zip
validate size of file
-rwxr-xr-xlib/preview.php14
1 files changed, 11 insertions, 3 deletions
diff --git a/lib/preview.php b/lib/preview.php
index 1150681e64f..be3abc2cd47 100755
--- a/lib/preview.php
+++ b/lib/preview.php
@@ -87,7 +87,15 @@ class Preview {
$this->maxY = $this->max_y;
}
}
-
+
+ $fileinfo = $this->fileview->getFileInfo($this->file);
+ if(array_key_exists('size', $fileinfo)){
+ if((int) $fileinfo['size'] === 0){
+ \OC_Log::write('core', 'You can\'t generate a preview of a 0 byte file (' . $this->file . ')', \OC_Log::ERROR);
+ throw new \Exception('0 byte file given');
+ }
+ }
+
//init providers
if(empty(self::$providers)) {
self::initProviders();
@@ -518,7 +526,7 @@ class Preview {
try{
$preview = new Preview(\OC_User::getUser(), 'files', $file, $maxX, $maxY, $scalingup);
$preview->showPreview();
- }catch(Exception $e) {
+ }catch(\Exception $e) {
\OC_Response::setStatus(404);
\OC_Log::write('core', $e->getmessage(), \OC_Log::ERROR);
exit;
@@ -574,7 +582,7 @@ class Preview {
try{
$preview = new Preview($userid, 'files/' . $path, $file, $maxX, $maxY, $scalingup);
$preview->showPreview();
- }catch(Exception $e) {
+ }catch(\Exception $e) {
\OC_Response::setStatus(404);
\OC_Log::write('core', $e->getmessage(), \OC_Log::ERROR);
exit;