aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArmin Kuster <akuster@mvista.com>2018-08-06 13:16:48 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-08-15 10:22:27 +0100
commit47c3add5dcc7a29d4647da2c0ad86d756323aa8f (patch)
tree71b9e707294d97f3bc5c14d6cb2224e6853a4b0f
parent732f051ff9b0103774d670d8c4971315cbb83a68 (diff)
downloadopenembedded-core-47c3add5dcc7a29d4647da2c0ad86d756323aa8f.tar.gz
binutils: Secuirty fix CVE-2017-14930
affects <= 2.29.1 Signed-off-by: Armin Kuster <akuster@mvista.com>
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.29.1.inc1
-rw-r--r--meta/recipes-devtools/binutils/binutils/CVE-2017-14930.patch53
2 files changed, 54 insertions, 0 deletions
diff --git a/meta/recipes-devtools/binutils/binutils-2.29.1.inc b/meta/recipes-devtools/binutils/binutils-2.29.1.inc
index 692828575e..9e02325662 100644
--- a/meta/recipes-devtools/binutils/binutils-2.29.1.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.29.1.inc
@@ -36,6 +36,7 @@ SRC_URI = "\
file://0014-Detect-64-bit-MIPS-targets.patch \
file://0015-sync-with-OE-libtool-changes.patch \
file://CVE-2017-17124.patch \
+ file://CVE-2017-14930.patch \
"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-devtools/binutils/binutils/CVE-2017-14930.patch b/meta/recipes-devtools/binutils/binutils/CVE-2017-14930.patch
new file mode 100644
index 0000000000..bbd267a959
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/CVE-2017-14930.patch
@@ -0,0 +1,53 @@
+From a26a013f22a19e2c16729e64f40ef8a7dfcc086e Mon Sep 17 00:00:00 2001
+From: Alan Modra <amodra@gmail.com>
+Date: Sun, 24 Sep 2017 17:10:14 +0930
+Subject: [PATCH] PR22191, memory leak in dwarf2.c
+
+table->sequences is a linked list before it is replaced by a bfd_alloc
+array in sort_line_sequences.
+
+ PR 22191
+ * dwarf2.c (decode_line_info): Properly free line sequences on error.
+
+Upstream-Status: Backport
+Affects: <= 2.29.1
+CVE: CVE-2017-14930
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ bfd/ChangeLog | 5 +++++
+ bfd/dwarf2.c | 8 ++++++--
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+Index: git/bfd/dwarf2.c
+===================================================================
+--- git.orig/bfd/dwarf2.c
++++ git/bfd/dwarf2.c
+@@ -2473,8 +2473,12 @@ decode_line_info (struct comp_unit *unit
+ return table;
+
+ fail:
+- if (table->sequences != NULL)
+- free (table->sequences);
++ while (table->sequences != NULL)
++ {
++ struct line_sequence* seq = table->sequences;
++ table->sequences = table->sequences->prev_sequence;
++ free (seq);
++ }
+ if (table->files != NULL)
+ free (table->files);
+ if (table->dirs != NULL)
+Index: git/bfd/ChangeLog
+===================================================================
+--- git.orig/bfd/ChangeLog
++++ git/bfd/ChangeLog
+@@ -1,3 +1,8 @@
++2017-09-24 Alan Modra <amodra@gmail.com>
++
++ PR 22191
++ * dwarf2.c (decode_line_info): Properly free line sequences on error.
++
+ 2017-11-28 Nick Clifton <nickc@redhat.com>
+
+ PR 22507