mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-28 05:36:32 +00:00
package/cairo: fix CVE-2018-19876
Add an upstream patch to fix CVE-2018-19876: cairo 1.16.0, in cairo_ft_apply_variations() in cairo-ft-font.c, would free memory using a free function incompatible with WebKit's fastMalloc, leading to an application crash with a "free(): invalid pointer" error. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> [Peter: extend commit message] Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
9675c3fbe8
commit
91b150dc33
@ -0,0 +1,33 @@
|
|||||||
|
From 90e85c2493fdfa3551f202ff10282463f1e36645 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Carlos Garcia Campos <cgarcia@igalia.com>
|
||||||
|
Date: Mon, 19 Nov 2018 12:33:07 +0100
|
||||||
|
Subject: [PATCH] ft: Use FT_Done_MM_Var instead of free when available in
|
||||||
|
cairo_ft_apply_variations
|
||||||
|
|
||||||
|
Fixes a crash when using freetype >= 2.9
|
||||||
|
[Retrieved from:
|
||||||
|
https://gitlab.freedesktop.org/cairo/cairo/-/commit/90e85c2493fdfa3551f202ff10282463f1e36645]
|
||||||
|
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||||
|
---
|
||||||
|
src/cairo-ft-font.c | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c
|
||||||
|
index 325dd61b4..981973f78 100644
|
||||||
|
--- a/src/cairo-ft-font.c
|
||||||
|
+++ b/src/cairo-ft-font.c
|
||||||
|
@@ -2393,7 +2393,11 @@ skip:
|
||||||
|
done:
|
||||||
|
free (coords);
|
||||||
|
free (current_coords);
|
||||||
|
+#if HAVE_FT_DONE_MM_VAR
|
||||||
|
+ FT_Done_MM_Var (face->glyph->library, ft_mm_var);
|
||||||
|
+#else
|
||||||
|
free (ft_mm_var);
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.24.1
|
||||||
|
|
@ -11,6 +11,9 @@ CAIRO_LICENSE_FILES = COPYING COPYING-LGPL-2.1 COPYING-MPL-1.1
|
|||||||
CAIRO_SITE = http://cairographics.org/releases
|
CAIRO_SITE = http://cairographics.org/releases
|
||||||
CAIRO_INSTALL_STAGING = YES
|
CAIRO_INSTALL_STAGING = YES
|
||||||
|
|
||||||
|
# 0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch
|
||||||
|
CAIRO_IGNORE_CVES += CVE-2018-19876
|
||||||
|
|
||||||
# relocation truncated to fit: R_68K_GOT16O
|
# relocation truncated to fit: R_68K_GOT16O
|
||||||
ifeq ($(BR2_m68k_cf),y)
|
ifeq ($(BR2_m68k_cf),y)
|
||||||
CAIRO_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -mxgot"
|
CAIRO_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -mxgot"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user