From 67500d5f2fa9eae33a33095b3e0ddc723dae69c5 Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Wed, 15 Apr 2015 13:17:01 +0200 Subject: [PATCH] if we start writing a file from the beginning, size should start by zero; result of floor needs to be casted to int in order to compare it with ->size --- lib/private/files/stream/encryption.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/private/files/stream/encryption.php b/lib/private/files/stream/encryption.php index 9ba98e61d3e..4a1df840105 100644 --- a/lib/private/files/stream/encryption.php +++ b/lib/private/files/stream/encryption.php @@ -280,7 +280,7 @@ class Encryption extends Wrapper { if ($this->position === 0) { $this->writeHeader(); - $this->size+=$this->util->getHeaderSize(); + $this->size = $this->util->getHeaderSize(); } $length = 0; @@ -293,7 +293,7 @@ class Encryption extends Wrapper { // for seekable streams the pointer is moved back to the beginning of the encrypted block // flush will start writing there when the position moves to another block - $positionInFile = floor($this->position / $this->unencryptedBlockSize) * + $positionInFile = (int)floor($this->position / $this->unencryptedBlockSize) * $this->util->getBlockSize() + $this->util->getHeaderSize(); $resultFseek = parent::stream_seek($positionInFile); -- 2.39.5