From d5fa2ec7c3dc194d2e4f8684b781252e76ad43e0 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Wed, 20 Mar 2024 14:09:58 +0100 Subject: [PATCH] fix: log error when default getWrapperStorage would return null Signed-off-by: Robin Appelman --- lib/private/Files/Storage/Wrapper/Wrapper.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/private/Files/Storage/Wrapper/Wrapper.php b/lib/private/Files/Storage/Wrapper/Wrapper.php index 665914df2a722..2c50bbdb11f6b 100644 --- a/lib/private/Files/Storage/Wrapper/Wrapper.php +++ b/lib/private/Files/Storage/Wrapper/Wrapper.php @@ -31,11 +31,14 @@ */ namespace OC\Files\Storage\Wrapper; +use OC\Files\Storage\FailedStorage; use OCP\Files\InvalidPathException; use OCP\Files\Storage\ILockingStorage; use OCP\Files\Storage\IStorage; use OCP\Files\Storage\IWriteStreamStorage; use OCP\Lock\ILockingProvider; +use OCP\Server; +use Psr\Log\LoggerInterface; class Wrapper implements \OC\Files\Storage\Storage, ILockingStorage, IWriteStreamStorage { /** @@ -60,6 +63,12 @@ public function __construct($parameters) { * @return \OC\Files\Storage\Storage */ public function getWrapperStorage() { + if (!$this->storage) { + $message = "storage wrapper " . get_class($this) . " doesn't have a wrapped storage set"; + $logger = Server::get(LoggerInterface::class); + $logger->error($message); + $this->storage = new FailedStorage(['exception' => new \Exception($message)]); + } return $this->storage; }