summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/libcroco/libcroco/CVE-2017-7961.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-support/libcroco/libcroco/CVE-2017-7961.patch')
-rw-r--r--meta/recipes-support/libcroco/libcroco/CVE-2017-7961.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/meta/recipes-support/libcroco/libcroco/CVE-2017-7961.patch b/meta/recipes-support/libcroco/libcroco/CVE-2017-7961.patch
new file mode 100644
index 0000000000..35471ec7ee
--- /dev/null
+++ b/meta/recipes-support/libcroco/libcroco/CVE-2017-7961.patch
@@ -0,0 +1,45 @@
1CVE: CVE-2017-7961
2Upstream-Status: Backport
3Signed-off-by: Ross Burton <ross.burton@intel.com>
4
5From 9ad72875e9f08e4c519ef63d44cdbd94aa9504f7 Mon Sep 17 00:00:00 2001
6From: Ignacio Casal Quinteiro <qignacio@amazon.com>
7Date: Sun, 16 Apr 2017 13:56:09 +0200
8Subject: [PATCH] tknzr: support only max long rgb values
9
10This fixes a possible out of bound when reading rgbs which
11are longer than the support MAXLONG
12---
13 src/cr-tknzr.c | 10 ++++++++++
14 1 file changed, 10 insertions(+)
15
16diff --git a/src/cr-tknzr.c b/src/cr-tknzr.c
17index 1a7cfeb..1548c35 100644
18--- a/src/cr-tknzr.c
19+++ b/src/cr-tknzr.c
20@@ -1279,6 +1279,11 @@ cr_tknzr_parse_rgb (CRTknzr * a_this, CRRgb ** a_rgb)
21 status = cr_tknzr_parse_num (a_this, &num);
22 ENSURE_PARSING_COND ((status == CR_OK) && (num != NULL));
23
24+ if (num->val > G_MAXLONG) {
25+ status = CR_PARSING_ERROR;
26+ goto error;
27+ }
28+
29 red = num->val;
30 cr_num_destroy (num);
31 num = NULL;
32@@ -1298,6 +1303,11 @@ cr_tknzr_parse_rgb (CRTknzr * a_this, CRRgb ** a_rgb)
33 status = cr_tknzr_parse_num (a_this, &num);
34 ENSURE_PARSING_COND ((status == CR_OK) && (num != NULL));
35
36+ if (num->val > G_MAXLONG) {
37+ status = CR_PARSING_ERROR;
38+ goto error;
39+ }
40+
41 PEEK_BYTE (a_this, 1, &next_bytes[0]);
42 if (next_bytes[0] == '%') {
43 SKIP_CHARS (a_this, 1);
44--
452.18.1