blob: e49481ff84f9fb903bd898186f45b7632139dddf [file] [log] [blame]
From 8a92f964a66d476ca8907234359e92a70fc1325b Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
Date: Tue, 28 Aug 2018 15:12:10 +0800
Subject: [PATCH] On saving makernotes, make sure the makernote container tags
has a type with 1 byte components.
Fixes (at least):
https://sourceforge.net/p/libexif/bugs/130
https://sourceforge.net/p/libexif/bugs/129
Upstream-Status: Backport[https://github.com/libexif/libexif/commit/
c39acd1692023b26290778a02a9232c873f9d71a#diff-830e348923810f00726700b083ec00cd]
CVE: CVE-2017-7544
Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
libexif/exif-data.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/libexif/exif-data.c b/libexif/exif-data.c
index 67df4db..6bf89eb 100644
--- a/libexif/exif-data.c
+++ b/libexif/exif-data.c
@@ -255,6 +255,12 @@ exif_data_save_data_entry (ExifData *data, ExifEntry *e,
exif_mnote_data_set_offset (data->priv->md, *ds - 6);
exif_mnote_data_save (data->priv->md, &e->data, &e->size);
e->components = e->size;
+ if (exif_format_get_size (e->format) != 1) {
+ /* e->format is taken from input code,
+ * but we need to make sure it is a 1 byte
+ * entity due to the multiplication below. */
+ e->format = EXIF_FORMAT_UNDEFINED;
+ }
}
}
--
2.7.4