diff --git a/lib/private/Files/Stream/Quota.php b/lib/private/Files/Stream/Quota.php index cc737910fd8dc..3c7e09c633bc7 100644 --- a/lib/private/Files/Stream/Quota.php +++ b/lib/private/Files/Stream/Quota.php @@ -78,7 +78,10 @@ public function stream_write($data) { $data = substr($data, 0, $this->limit); $size = $this->limit; } - $this->limit -= $size; - return fwrite($this->source, $data); + $written = fwrite($this->source, $data); + // Decrement quota by the actual number of bytes written ($written), + // not the intended size + $this->limit -= $written; + return $written; } }