aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaxence Lange <maxence@artificial-owl.com>2024-03-11 10:44:01 -0100
committerMaxence Lange <maxence@artificial-owl.com>2024-03-11 10:44:18 -0100
commit681498a050d12be268c0aaebc999adc5309eee2f (patch)
treec9ac64e47f87c8fd42fed828ecc55af7a5d4d014
parent9b6424e5cacc5cdeccf24c4a65a1140916c55a01 (diff)
downloadnextcloud-server-fix/noid/null-safe-metadata.tar.gz
nextcloud-server-fix/noid/null-safe-metadata.zip
fix(core) null safe on metadatafix/noid/null-safe-metadata
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
-rw-r--r--build/psalm-baseline.xml8
-rw-r--r--lib/private/Files/Cache/QuerySearchHelper.php9
2 files changed, 10 insertions, 7 deletions
diff --git a/build/psalm-baseline.xml b/build/psalm-baseline.xml
index b12ca916106..eac6d259c4f 100644
--- a/build/psalm-baseline.xml
+++ b/build/psalm-baseline.xml
@@ -2140,6 +2140,14 @@
</MoreSpecificImplementedParamType>
</file>
<file src="lib/private/Files/Cache/Scanner.php">
+ <RedundantCondition>
+ <code>$metadataQuery?->extractMetadata($data)->asArray() ?? []</code>
+ </RedundantCondition>
+ <TypeDoesNotContainNull>
+ <code>$metadataQuery?->extractMetadata($data)->asArray() ?? []</code>
+ </TypeDoesNotContainNull>
+ </file>
+ <file src="lib/private/Files/Cache/Scanner.php">
<InvalidArgument>
<code>self::SCAN_RECURSIVE_INCOMPLETE</code>
</InvalidArgument>
diff --git a/lib/private/Files/Cache/QuerySearchHelper.php b/lib/private/Files/Cache/QuerySearchHelper.php
index d8c5e66e129..77ffb8abcde 100644
--- a/lib/private/Files/Cache/QuerySearchHelper.php
+++ b/lib/private/Files/Cache/QuerySearchHelper.php
@@ -194,13 +194,8 @@ class QuerySearchHelper {
$result = $query->execute();
$files = $result->fetchAll();
- $rawEntries = array_map(function (array $data) use ($metadataQuery) {
- // migrate to null safe ...
- if ($metadataQuery === null) {
- $data['metadata'] = [];
- } else {
- $data['metadata'] = $metadataQuery->extractMetadata($data)->asArray();
- }
+ $rawEntries = array_map(function (array $data) use ($metadataQuery): CacheEntry {
+ $data['metadata'] = $metadataQuery?->extractMetadata($data)->asArray() ?? [];
return Cache::cacheEntryFromData($data, $this->mimetypeLoader);
}, $files);