From 967e882757bdaf2f9703884f65dcd3c88530422c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Thomas=20M=C3=BCller?= Date: Tue, 14 Apr 2015 12:44:51 +0200 Subject: [PATCH] return size from cache in case the cache entry is marked as encrypted --- .../files/storage/wrapper/encryption.php | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/private/files/storage/wrapper/encryption.php b/lib/private/files/storage/wrapper/encryption.php index 47a31e794e8..5697139bd6b 100644 --- a/lib/private/files/storage/wrapper/encryption.php +++ b/lib/private/files/storage/wrapper/encryption.php @@ -91,21 +91,23 @@ class Encryption extends Wrapper { */ public function filesize($path) { $fullPath = $this->getFullPath($path); - $size = $this->storage->filesize($path); $info = $this->getCache()->get($path); - if (isset($this->unencryptedSize[$fullPath])) { $size = $this->unencryptedSize[$fullPath]; - } - if (isset($info['fileid'])) { - $info['encrypted'] = true; - $info['size'] = $size; - $this->getCache()->put($path, $info); + if (isset($info['fileid'])) { + $info['encrypted'] = true; + $info['size'] = $size; + $this->getCache()->put($path, $info); + } + return $size; } - return $size; + if (isset($info['fileid']) && $info['encrypted']) { + return $info['size']; + } + return $this->storage->filesize($path); } /** -- 2.39.5