Files
poky/meta/recipes-devtools
Yuanjie Huang bb90ff781b 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>
2017-02-23 12:49:50 -08:00
..
2016-12-17 09:57:03 +00:00
2017-01-31 14:43:02 +00:00
2017-02-23 12:49:50 -08:00
2016-02-19 01:01:24 +00:00
2017-02-07 14:50:10 +00:00
2017-02-15 20:06:43 -08:00
2017-01-26 10:44:28 +00:00
2017-01-05 13:54:06 +00:00
2017-01-16 18:05:12 +00:00
2017-02-23 12:49:50 -08:00
2017-02-23 12:49:49 -08:00
2017-02-15 20:06:43 -08:00
2017-01-23 12:05:17 +00:00
2017-02-15 20:06:43 -08:00
2016-07-08 09:57:24 +01:00
2016-05-25 07:50:17 +01:00
2017-02-15 20:06:43 -08:00
2017-01-09 13:39:12 +00:00
2016-08-25 23:03:45 +01:00
2016-11-06 23:35:34 +00:00
2016-09-15 12:15:07 +01:00
2017-02-15 20:06:42 -08:00
2017-02-07 14:50:09 +00:00
2017-02-15 20:06:41 -08:00
2017-01-05 13:54:05 +00:00
2017-01-26 10:44:27 +00:00
2016-12-22 08:50:16 +00:00
2017-02-15 20:06:43 -08:00
2017-01-19 22:47:20 +00:00
2017-02-23 12:49:50 -08:00
2015-12-16 12:12:15 +00:00
2016-12-17 09:57:04 +00:00
2017-01-09 13:39:12 +00:00
2015-06-11 23:59:15 +01:00