diff options
author | Louis Chemineau <louis@chmn.me> | 2023-05-06 17:33:55 +0200 |
---|---|---|
committer | Louis Chemineau <louis@chmn.me> | 2023-05-09 11:43:56 +0200 |
commit | b67e34f78f73cfa67c8e1df76f3608c9280d7b47 (patch) | |
tree | d295b230f80728dd9e8535c8788bf7a6774a2071 /lib | |
parent | 157be42a83e7c43464462b7e8cbf0b2bb9a251ab (diff) | |
download | nextcloud-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.php | 8 |
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)/'; } /** |