summaryrefslogtreecommitdiff
path: root/kde-frameworks/kimageformats/files/kimageformats-5.102.0-heif-reject-invalid-files-w-0-size.patch
diff options
context:
space:
mode:
Diffstat (limited to 'kde-frameworks/kimageformats/files/kimageformats-5.102.0-heif-reject-invalid-files-w-0-size.patch')
-rw-r--r--kde-frameworks/kimageformats/files/kimageformats-5.102.0-heif-reject-invalid-files-w-0-size.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/kde-frameworks/kimageformats/files/kimageformats-5.102.0-heif-reject-invalid-files-w-0-size.patch b/kde-frameworks/kimageformats/files/kimageformats-5.102.0-heif-reject-invalid-files-w-0-size.patch
new file mode 100644
index 000000000000..809d11ce382f
--- /dev/null
+++ b/kde-frameworks/kimageformats/files/kimageformats-5.102.0-heif-reject-invalid-files-w-0-size.patch
@@ -0,0 +1,31 @@
+From b654f20ecebc30ab73022a6b32c2fd1cef162ea6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Daniel=20Novomesk=C3=BD?= <dnovomesky@gmail.com>
+Date: Sun, 29 Jan 2023 16:16:52 +0100
+Subject: [PATCH] heif: reject invalid files with zero size
+
+---
+ src/imageformats/heif.cpp | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/imageformats/heif.cpp b/src/imageformats/heif.cpp
+index 3365d92..c938c0d 100644
+--- a/src/imageformats/heif.cpp
++++ b/src/imageformats/heif.cpp
+@@ -449,6 +449,14 @@ bool HEIFHandler::ensureDecoder()
+ return false;
+ }
+
++ if ((heif_image_handle_get_width(handle) == 0) || (heif_image_handle_get_height(handle) == 0)) {
++ m_parseState = ParseHeicError;
++ heif_image_handle_release(handle);
++ heif_context_free(ctx);
++ qWarning() << "HEIC image has zero dimension";
++ return false;
++ }
++
+ const bool hasAlphaChannel = heif_image_handle_has_alpha_channel(handle);
+ const int bit_depth = heif_image_handle_get_luma_bits_per_pixel(handle);
+ heif_chroma chroma;
+--
+GitLab
+