diff --git a/lib/private/FilesMetadata/FilesMetadataManager.php b/lib/private/FilesMetadata/FilesMetadataManager.php index b6077f1f27125..0ac6963ad1f1e 100644 --- a/lib/private/FilesMetadata/FilesMetadataManager.php +++ b/lib/private/FilesMetadata/FilesMetadataManager.php @@ -164,6 +164,10 @@ public function saveMetadata(IFilesMetadata $filesMetadata): void { } $json = json_encode($filesMetadata->jsonSerialize()); + if (!$json) { + $this->logger->error('Failed to json encode file metadata for ' . $filesMetadata->getFileId(), ['metadata' => $filesMetadata->jsonSerialize()]); + return; + } if (strlen($json) > self::JSON_MAXSIZE) { $this->logger->debug('huge metadata content detected: ' . $json); throw new FilesMetadataException('json cannot exceed ' . self::JSON_MAXSIZE . ' characters long; fileId: ' . $filesMetadata->getFileId() . '; size: ' . strlen($json));