commit:     96e70c303fbdd5949b7235132de1d4bf4a88a950
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 18 09:20:08 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Sep 18 09:22:45 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=96e70c30

media-libs/libexif: Fix CVE-2017-7544

Bug: https://bugs.gentoo.org/631850
Package-Manager: Portage-2.3.49, Repoman-2.3.10

 .../files/libexif-0.6.21-CVE-2017-7544.patch       | 30 ++++++++++++++++++++++
 media-libs/libexif/libexif-0.6.21-r2.ebuild        |  5 +++-
 2 files changed, 34 insertions(+), 1 deletion(-)

diff --git a/media-libs/libexif/files/libexif-0.6.21-CVE-2017-7544.patch 
b/media-libs/libexif/files/libexif-0.6.21-CVE-2017-7544.patch
new file mode 100644
index 00000000000..534817417d8
--- /dev/null
+++ b/media-libs/libexif/files/libexif-0.6.21-CVE-2017-7544.patch
@@ -0,0 +1,30 @@
+From c39acd1692023b26290778a02a9232c873f9d71a Mon Sep 17 00:00:00 2001
+From: Marcus Meissner <[email protected]>
+Date: Tue, 25 Jul 2017 23:38:56 +0200
+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
+---
+ libexif/exif-data.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/libexif/exif-data.c b/libexif/exif-data.c
+index 67df4db..91f4c33 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;
++                      }
+               }
+       }
+ 

diff --git a/media-libs/libexif/libexif-0.6.21-r2.ebuild 
b/media-libs/libexif/libexif-0.6.21-r2.ebuild
index 252bbbbc790..26819985142 100644
--- a/media-libs/libexif/libexif-0.6.21-r2.ebuild
+++ b/media-libs/libexif/libexif-0.6.21-r2.ebuild
@@ -21,7 +21,10 @@ BDEPEND="
        doc? ( app-doc/doxygen )
        nls? ( sys-devel/gettext )"
 
-PATCHES=( "${FILESDIR}"/${PN}-0.6.13-pkgconfig.patch )
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.6.13-pkgconfig.patch
+       "${FILESDIR}"/${P}-CVE-2017-7544.patch
+)
 
 src_prepare() {
        default

Reply via email to