diff options
author | Yuanjie Huang <yuanjie.huang@windriver.com> | 2017-02-15 01:38:00 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-02-23 12:49:50 -0800 |
commit | bb90ff781b744ecdb0404dd65040e258e4ece978 (patch) | |
tree | 9820b0c89fc003974cc2e0ffa6aa78f71957771d /meta/recipes-devtools/gcc/gcc-5.4.inc | |
parent | 04ce3a37b6a4a53d020feb8ec2c21348aff6a81b (diff) | |
download | poky-bb90ff781b744ecdb0404dd65040e258e4ece978.tar.gz |
gcc: Fix CVE-2016-6131 in libiberty
[NVD] -- https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-6131
The demangler in GNU Libiberty allows remote attackers to cause a denial
of service (infinite loop, stack overflow, and crash) via a cycle in the
references of remembered mangled types.
[BZ #71696] -- https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71696
2016-08-04 Marcel Böhme <boehme.marcel@gmail.com>
PR c++/71696
* cplus-dem.c: Prevent infinite recursion when there is a cycle
in the referencing of remembered mangled types.
(work_stuff): New stack to keep track of the remembered mangled
types that are currently being processed.
(push_processed_type): New method to push currently processed
remembered type onto the stack.
(pop_processed_type): New method to pop currently processed
remembered type from the stack.
(work_stuff_copy_to_from): Copy values of new variables.
(delete_non_B_K_work_stuff): Free stack memory.
(demangle_args): Push/Pop currently processed remembered type.
(do_type): Do not demangle a cyclic reference and push/pop
referenced remembered type.
cherry-picked from commit of
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239143 138bc75d-0d04-0410-961f-82ee72b054a4
(From OE-Core rev: 3c288b181a4cfecc80b48994f4dd2df285e4d1d0)
(From OE-Core rev: 96a16c4181d18b8580dad243350d589586cb2b07)
Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-5.4.inc')
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-5.4.inc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-5.4.inc b/meta/recipes-devtools/gcc/gcc-5.4.inc index 338530fd6d..b7696756af 100644 --- a/meta/recipes-devtools/gcc/gcc-5.4.inc +++ b/meta/recipes-devtools/gcc/gcc-5.4.inc | |||
@@ -89,6 +89,7 @@ SRC_URI = "\ | |||
89 | file://0057-unwind-fix-for-musl.patch \ | 89 | file://0057-unwind-fix-for-musl.patch \ |
90 | file://0058-fdebug-prefix-map-support-to-remap-relative-path.patch \ | 90 | file://0058-fdebug-prefix-map-support-to-remap-relative-path.patch \ |
91 | file://0059-libgcc-use-ldflags.patch \ | 91 | file://0059-libgcc-use-ldflags.patch \ |
92 | file://CVE-2016-6131.patch \ | ||
92 | " | 93 | " |
93 | 94 | ||
94 | BACKPORTS = "" | 95 | BACKPORTS = "" |