diff options
author | Jonas <jonas@freesources.org> | 2022-06-28 15:27:09 +0100 |
---|---|---|
committer | Jonas (Rebase PR Action) <jonas@freesources.org> | 2022-06-29 10:47:07 +0000 |
commit | 7d07e06bfe3fa7e33a543e652e94b6d3305efae6 (patch) | |
tree | c311c04a56b894540737b069710ae968650b7fbb | |
parent | 46a49dee8af8c62d0e71385123bf6f0b8b0a1eb4 (diff) | |
download | nextcloud-server-7d07e06bfe3fa7e33a543e652e94b6d3305efae6.tar.gz nextcloud-server-7d07e06bfe3fa7e33a543e652e94b6d3305efae6.zip |
Check whether entry is of type ICacheEntry in Cache->remove()
In some scenarios (file not in cache, but partial data of it in the
object), Cache->get() might return an array, which leads to errors like
"Call to a member function getId() on array".
So check whether the returned entry is of type ICacheEntry before doing
operations on it in Cache->remove().
Fixes: #33023
Signed-off-by: Jonas <jonas@freesources.org>
-rw-r--r-- | lib/private/Files/Cache/Cache.php | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/private/Files/Cache/Cache.php b/lib/private/Files/Cache/Cache.php index c6cadf14f86..33a07e9b9e5 100644 --- a/lib/private/Files/Cache/Cache.php +++ b/lib/private/Files/Cache/Cache.php @@ -540,7 +540,7 @@ class Cache implements ICache { public function remove($file) { $entry = $this->get($file); - if ($entry) { + if ($entry instanceof ICacheEntry) { $query = $this->getQueryBuilder(); $query->delete('filecache') ->whereFileId($entry->getId()); |