diff --git a/lib/private/files/storage/wrapper/encryption.php b/lib/private/files/storage/wrapper/encryption.php index d6b7f53408..2f0c1e35b0 100644 --- a/lib/private/files/storage/wrapper/encryption.php +++ b/lib/private/files/storage/wrapper/encryption.php @@ -195,9 +195,13 @@ class Encryption extends Wrapper { public function file_put_contents($path, $data) { // file put content will always be translated to a stream write $handle = $this->fopen($path, 'w'); - $written = fwrite($handle, $data); - fclose($handle); - return $written; + if (is_resource($handle)) { + $written = fwrite($handle, $data); + fclose($handle); + return $written; + } + + return false; } /** @@ -320,7 +324,7 @@ class Encryption extends Wrapper { * * @param string $path * @param string $mode - * @return resource + * @return resource|bool * @throws GenericEncryptionException * @throws ModuleDoesNotExistsException */ @@ -404,6 +408,9 @@ class Encryption extends Wrapper { if ($shouldEncrypt === true && $encryptionModule !== null) { $headerSize = $this->getHeaderSize($path); $source = $this->storage->fopen($path, $mode); + if (!is_resource($source)) { + return false; + } $handle = \OC\Files\Stream\Encryption::wrap($source, $path, $fullPath, $header, $this->uid, $encryptionModule, $this->storage, $this, $this->util, $this->fileHelper, $mode, $size, $unencryptedSize, $headerSize);