summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@owncloud.com>2016-04-08 14:50:42 +0200
committerJoas Schilling <nickvergessen@owncloud.com>2016-04-08 14:50:42 +0200
commit178ad23d80406e72ddf55d08e318fb124ab3013a (patch)
tree4ceeb27ba5048d55b36dd17ddd7a5c0c8f3f74c1 /lib
parent6eefea1bb65897b0a1cf8668b15998a12ae197b9 (diff)
downloadnextcloud-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.php12
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;
}