diff --git a/lib/Controller/WopiController.php b/lib/Controller/WopiController.php index 93f3344459..71349d6f48 100644 --- a/lib/Controller/WopiController.php +++ b/lib/Controller/WopiController.php @@ -509,7 +509,13 @@ public function putFile($fileId, $content = fopen('php://input', 'rb'); + $freespace = $file->getParent()->getFreeSpace(); + $contentLength = (int)$this->request->getHeader('Content-Length'); + try { + if ($freespace >= 0 && $contentLength > $freespace) { + throw new \Exception('Not enough storage'); + } $this->wrappedFilesystemOperation($wopi, function () use ($file, $content) { return $file->putContent($content); });