From: Bjoern Schiessle Date: Wed, 15 Apr 2015 11:17:01 +0000 (+0200) Subject: if we start writing a file from the beginning, size should start by zero; result... X-Git-Tag: v8.1.0alpha2~60^2~2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=67500d5f2fa9eae33a33095b3e0ddc723dae69c5;p=nextcloud-server.git 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 --- 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);