generic-poky/meta/recipes-devtools/gcc
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
..
gcc-5.4 gcc: Fix CVE-2016-6131 in libiberty 2017-02-23 12:49:50 -08:00
gcc-6.3 gcc: Fix CVE-2016-6131 in libiberty 2017-02-23 12:49:50 -08:00
gcc-5.4.inc gcc: Fix CVE-2016-6131 in libiberty 2017-02-23 12:49:50 -08:00
gcc-6.3.inc gcc: Fix CVE-2016-6131 in libiberty 2017-02-23 12:49:50 -08:00
gcc-common.inc classes: Drop now unneeded update_data calls 2017-02-15 09:29:55 -08:00
gcc-configure-common.inc meta: remove True option to getVar calls 2016-12-16 10:23:23 +00:00
gcc-cross-canadian.inc gcc-cross-canadian: Add missing DEPENDS on virtual/${HOST_PREFIX}gcc-crosssdk 2016-01-26 18:05:13 +00:00
gcc-cross-canadian_5.4.bb gcc5: Upgrade to gcc 5.4 2016-07-01 16:22:44 +01:00
gcc-cross-canadian_6.3.bb gcc6: Upgrade to 6.3.0 2017-01-09 13:39:12 +00:00
gcc-cross-initial.inc gcc-cross-initial: Remove unneeded temporary sysroot 2017-02-09 10:52:03 +00:00
gcc-cross-initial_5.4.bb gcc5: Upgrade to gcc 5.4 2016-07-01 16:22:44 +01:00
gcc-cross-initial_6.3.bb gcc6: Upgrade to 6.3.0 2017-01-09 13:39:12 +00:00
gcc-cross.inc gcc-cross: Avoid races with gcc_stash_builddir 2017-02-23 12:49:49 -08:00
gcc-cross_5.4.bb gcc5: Upgrade to gcc 5.4 2016-07-01 16:22:44 +01:00
gcc-cross_6.3.bb gcc6: Upgrade to 6.3.0 2017-01-09 13:39:12 +00:00
gcc-crosssdk-initial.inc SDK: Allow changing SDKMACHINE without wiping TMP folder 2016-09-28 10:16:03 +01:00
gcc-crosssdk-initial_5.4.bb gcc5: Upgrade to gcc 5.4 2016-07-01 16:22:44 +01:00
gcc-crosssdk-initial_6.3.bb gcc6: Upgrade to 6.3.0 2017-01-09 13:39:12 +00:00
gcc-crosssdk.inc SDK: Allow changing SDKMACHINE without wiping TMP folder 2016-09-28 10:16:03 +01:00
gcc-crosssdk_5.4.bb gcc5: Upgrade to gcc 5.4 2016-07-01 16:22:44 +01:00
gcc-crosssdk_6.3.bb gcc6: Upgrade to 6.3.0 2017-01-09 13:39:12 +00:00
gcc-multilib-config.inc meta: remove True option to getVar calls 2016-12-16 10:23:23 +00:00
gcc-runtime.inc gcc: Clean up unnecessary variable confusion 2017-01-26 10:44:27 +00:00
gcc-runtime_5.4.bb gcc5: Upgrade to gcc 5.4 2016-07-01 16:22:44 +01:00
gcc-runtime_6.3.bb gcc6: Upgrade to 6.3.0 2017-01-09 13:39:12 +00:00
gcc-sanitizers.inc gcc: Clean up unnecessary variable confusion 2017-01-26 10:44:27 +00:00
gcc-sanitizers_5.4.bb gcc5: Upgrade to gcc 5.4 2016-07-01 16:22:44 +01:00
gcc-sanitizers_6.3.bb gcc6: Upgrade to 6.3.0 2017-01-09 13:39:12 +00:00
gcc-shared-source.inc gcc-shared-source: Set empty SRC_URI 2015-09-24 17:54:31 +01:00
gcc-source.inc gcc/gcc-source: Move libcc1 manipulation into gcc-source 2017-01-26 10:44:27 +00:00
gcc-source_5.4.bb gcc5: Upgrade to gcc 5.4 2016-07-01 16:22:44 +01:00
gcc-source_6.3.bb gcc6: Upgrade to 6.3.0 2017-01-09 13:39:12 +00:00
gcc-target.inc gcc: add runtime packages to RRECOMMENDS 2016-07-12 23:10:14 +01:00
gcc_5.4.bb gcc/gcc-source: Move libcc1 manipulation into gcc-source 2017-01-26 10:44:27 +00:00
gcc_6.3.bb gcc/gcc-source: Move libcc1 manipulation into gcc-source 2017-01-26 10:44:27 +00:00
libgcc-common.inc gcc: Clean up unnecessary variable confusion 2017-01-26 10:44:27 +00:00
libgcc-initial.inc gcc: Split builddir saving into its own sstate task 2017-01-26 10:44:27 +00:00
libgcc-initial_5.4.bb gcc5: Upgrade to gcc 5.4 2016-07-01 16:22:44 +01:00
libgcc-initial_6.3.bb gcc6: Upgrade to 6.3.0 2017-01-09 13:39:12 +00:00
libgcc.inc gcc: Split builddir saving into its own sstate task 2017-01-26 10:44:27 +00:00
libgcc_5.4.bb gcc5: Upgrade to gcc 5.4 2016-07-01 16:22:44 +01:00
libgcc_6.3.bb gcc6: Upgrade to 6.3.0 2017-01-09 13:39:12 +00:00
libgfortran.inc gcc: Clean up unnecessary variable confusion 2017-01-26 10:44:27 +00:00
libgfortran_5.4.bb gcc5: Upgrade to gcc 5.4 2016-07-01 16:22:44 +01:00
libgfortran_6.3.bb gcc6: Upgrade to 6.3.0 2017-01-09 13:39:12 +00:00