diff options
author | Joas Schilling <nickvergessen@owncloud.com> | 2016-04-08 14:50:42 +0200 |
---|---|---|
committer | Joas Schilling <nickvergessen@owncloud.com> | 2016-04-08 14:50:42 +0200 |
commit | 178ad23d80406e72ddf55d08e318fb124ab3013a (patch) | |
tree | 4ceeb27ba5048d55b36dd17ddd7a5c0c8f3f74c1 /lib | |
parent | 6eefea1bb65897b0a1cf8668b15998a12ae197b9 (diff) | |
download | nextcloud-server-178ad23d80406e72ddf55d08e318fb124ab3013a.tar.gz nextcloud-server-178ad23d80406e72ddf55d08e318fb124ab3013a.zip |
Correctly return an empty string for empty files
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/files/storage/local.php | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/private/files/storage/local.php b/lib/private/files/storage/local.php index b6d0ec3fb34..b0918c82f98 100644 --- a/lib/private/files/storage/local.php +++ b/lib/private/files/storage/local.php @@ -177,9 +177,15 @@ class Local extends \OC\Files\Storage\Common { public function file_get_contents($path) { // file_get_contents() has a memory leak: https://bugs.php.net/bug.php?id=61961 - $filename = $this->getSourcePath($path); - $handle = fopen($filename,'rb'); - $content = fread($handle, filesize($filename)); + $fileName = $this->getSourcePath($path); + + $fileSize = filesize($fileName); + if ($fileSize === 0) { + return ''; + } + + $handle = fopen($fileName,'rb'); + $content = fread($handle, $fileSize); fclose($handle); return $content; } |