Files
poky/meta/recipes-devtools
Yuanjie Huang 964bd533a9 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: be00ad34a3827a4205718609f349bc6e8a09733b)

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>
(cherry picked from commit 96a16c4181d18b8580dad243350d589586cb2b07)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:55:53 -07:00
..
2016-09-14 22:22:07 +01:00
2017-08-29 16:50:53 +01:00
2018-01-07 17:10:09 +00:00
2016-09-03 09:58:37 +01:00
2016-07-26 08:56:26 +01:00
2016-06-12 23:47:18 +01:00
2016-10-11 08:27:27 +01:00
2018-03-14 07:55:53 -07:00
2016-08-25 23:03:45 +01:00
2016-08-10 10:46:29 +01:00
2015-12-18 12:18:19 +00:00
2016-07-08 09:57:24 +01:00
2016-05-25 07:50:17 +01:00
2016-07-12 23:10:14 +01:00
2016-08-25 23:03:45 +01:00
2016-06-07 15:22:37 +01:00
2016-09-09 12:12:22 +01:00
2016-09-15 12:15:07 +01:00
2018-03-04 11:12:10 +00:00
2018-03-04 11:12:12 +00:00
2016-06-03 13:13:27 +01:00
2016-07-01 16:22:43 +01:00
2016-08-04 15:22:23 +01:00
2015-12-16 12:12:15 +00:00
2016-09-14 22:22:07 +01:00
2015-06-11 23:59:15 +01:00