]> code.ossystems Code Review - openembedded-core.git/commitdiff
binutils: CVE-2017-9748
authorThiruvadi Rajaraman <trajaraman@mvista.com>
Thu, 21 Sep 2017 13:44:03 +0000 (19:14 +0530)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 7 Jan 2018 17:09:47 +0000 (17:09 +0000)
Source: binutils-gdb.git
MR: 74023
Type: Security Fix
Disposition: Backport from binutils-2_29
ChangeID: efff4d9ed538ff859ab5105a3594690e860d0779
Description:

Avoid a possible compiler bug by using a static buffer instead of a stack local buffer.

PR binutils/21582
   * ieee.c (ieee_object_p): Use a static buffer to avoid compiler
     bugs.
Affects: <= 2.28
Author: Nick Clifton <nickc@redhat.com>
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
meta/recipes-devtools/binutils/binutils-2.27.inc
meta/recipes-devtools/binutils/binutils/CVE-2017-9748.patch [new file with mode: 0644]

index 8d2c9d703147d0e507fba25e754aa1c3a4e80778..cb745b13ba40b6e92995c175314246b3cc2ca95e 100644 (file)
@@ -81,6 +81,7 @@ SRC_URI = "\
      file://CVE-2017-9751.patch \
      file://CVE-2017-9749.patch \
      file://CVE-2017-9746.patch \
+     file://CVE-2017-9748.patch \
 "
 S  = "${WORKDIR}/git"
 
diff --git a/meta/recipes-devtools/binutils/binutils/CVE-2017-9748.patch b/meta/recipes-devtools/binutils/binutils/CVE-2017-9748.patch
new file mode 100644 (file)
index 0000000..ea1f0dd
--- /dev/null
@@ -0,0 +1,45 @@
+commit 63634bb4a107877dd08b6282e28e11cfd1a1649e
+Author: Nick Clifton <nickc@redhat.com>
+Date:   Thu Jun 15 12:44:23 2017 +0100
+
+    Avoid a possible compiler bug by using a static buffer instead of a stack local buffer.
+    
+       PR binutils/21582
+       * ieee.c (ieee_object_p): Use a static buffer to avoid compiler
+       bugs.
+
+Upstream-Status: Backport
+
+CVE: CVE-2017-9748
+Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
+
+Index: git/bfd/ieee.c
+===================================================================
+--- git.orig/bfd/ieee.c        2017-09-21 13:53:50.891154141 +0530
++++ git/bfd/ieee.c     2017-09-21 13:54:00.715232229 +0530
+@@ -1871,7 +1871,7 @@
+   char *processor;
+   unsigned int part;
+   ieee_data_type *ieee;
+-  unsigned char buffer[300];
++  static unsigned char buffer[300];
+   ieee_data_type *save = IEEE_DATA (abfd);
+   bfd_size_type amt;
+Index: git/bfd/ChangeLog
+===================================================================
+--- git.orig/bfd/ChangeLog     2017-09-21 13:54:00.483230385 +0530
++++ git/bfd/ChangeLog  2017-09-21 13:57:44.885008549 +0530
+@@ -73,6 +73,12 @@
+        (evax_bfd_print_egsd): Check for an overlarge record length.
+        (evax_bfd_print_etir): Likewise.
++2017-06-15  Nick Clifton  <nickc@redhat.com>
++
++       PR binutils/21582
++       * ieee.c (ieee_object_p): Use a static buffer to avoid compiler
++       bugs.
++
+ 2017-04-29  Alan Modra  <amodra@gmail.com>
+        PR 21432