aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorLouis Chemineau <louis@chmn.me>2023-05-06 17:33:55 +0200
committerLouis Chemineau <louis@chmn.me>2023-05-09 11:43:56 +0200
commitb67e34f78f73cfa67c8e1df76f3608c9280d7b47 (patch)
treed295b230f80728dd9e8535c8788bf7a6774a2071 /lib
parent157be42a83e7c43464462b7e8cbf0b2bb9a251ab (diff)
downloadnextcloud-server-b67e34f78f73cfa67c8e1df76f3608c9280d7b47.tar.gz
nextcloud-server-b67e34f78f73cfa67c8e1df76f3608c9280d7b47.zip
Restrict EXIF extracting to a subset of formats
Signed-off-by: Louis Chemineau <louis@chmn.me>
Diffstat (limited to 'lib')
-rw-r--r--lib/private/Metadata/Provider/ExifProvider.php8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/private/Metadata/Provider/ExifProvider.php b/lib/private/Metadata/Provider/ExifProvider.php
index 4e211e7b6c4..b1598abbbc8 100644
--- a/lib/private/Metadata/Provider/ExifProvider.php
+++ b/lib/private/Metadata/Provider/ExifProvider.php
@@ -44,11 +44,15 @@ class ExifProvider implements IMetadataProvider {
return extension_loaded('exif');
}
- /** @return array{'gps': FileMetadata, 'size': FileMetadata} */
+ /** @return array{'gps'?: FileMetadata, 'size'?: FileMetadata} */
public function execute(File $file): array {
$exifData = [];
$fileDescriptor = $file->fopen('rb');
+ if ($fileDescriptor === false) {
+ return [];
+ }
+
$data = null;
try {
// Needed to make reading exif data reliable.
@@ -107,7 +111,7 @@ class ExifProvider implements IMetadataProvider {
}
public static function getMimetypesSupported(): string {
- return '/image\/.*/';
+ return '/image\/(png|jpeg|heif|webp|tiff)/';
}
/**