generic-poky/meta/recipes-devtools/gcc/gcc-5.4
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
..
0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
0002-uclibc-conf.patch
0003-gcc-uclibc-locale-ctype_touplow_t.patch
0004-uclibc-locale.patch
0005-uclibc-locale-no__x.patch
0006-uclibc-locale-wchar_fix.patch
0007-uclibc-locale-update.patch
0008-missing-execinfo_h.patch
0009-c99-snprintf.patch
0010-gcc-poison-system-directories.patch
0011-gcc-poison-dir-extend.patch
0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
0013-64-bit-multilib-hack.patch
0014-optional-libstdc.patch
0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch
0016-COLLECT_GCC_OPTIONS.patch
0017-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
0018-fortran-cross-compile-hack.patch
0019-libgcc-sjlj-check.patch
0020-cpp-honor-sysroot.patch
0021-MIPS64-Default-to-N64-ABI.patch
0022-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
0023-gcc-Fix-argument-list-too-long-error.patch
0024-Disable-sdt.patch
0025-libtool.patch
0026-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
0027-Use-the-multilib-config-files-from-B-instead-of-usin.patch
0028-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
0029-export-CPP.patch
0030-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch
0031-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch
0032-Ensure-target-gcc-headers-can-be-included.patch
0033-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
0034-Don-t-search-host-directory-during-relink-if-inst_pr.patch
0035-Dont-link-the-plugins-with-libgomp-explicitly.patch
0036-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
0037-aarch64-Add-support-for-musl-ldso.patch
0038-fix-g-sysroot.patch
0039-libcc1-fix-libcc1-s-install-path-and-rpath.patch
0040-handle-sysroot-support-for-nativesdk-gcc.patch
0041-Search-target-sysroot-gcc-version-specific-dirs-with.patch
0042-Fix-various-_FOR_BUILD-and-related-variables.patch
0043-libstdc-Support-musl.patch
0044-Adding-mmusl-as-a-musl-libc-specifier-and-the-necess.patch
0045-Support-for-arm-linux-musl.patch
0046-Get-rid-of-ever-broken-fixincludes-on-musl.patch
0047-nios2-Define-MUSL_DYNAMIC_LINKER.patch
0048-ssp_nonshared.patch
0049-Disable-the-weak-reference-logic-in-gthr.h-for-os-ge.patch
0050-powerpc-pass-secure-plt-to-the-linker.patch
0051-Ignore-fdebug-prefix-map-in-producer-string-by-Danie.patch
0052-nios2-use-ret-with-r31.patch
0053-expr.c-PR-target-65358-Avoid-clobbering-partial-argu.patch
0054-support-ffile-prefix-map.patch
0055-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch
0056-Enable-libc-provide-ssp-and-gcc_cv_target_dl_iterate.patch
0057-unwind-fix-for-musl.patch
0058-fdebug-prefix-map-support-to-remap-relative-path.patch
0059-libgcc-use-ldflags.patch
CVE-2016-6131.patch gcc: Fix CVE-2016-6131 in libiberty 2017-02-23 12:49:50 -08:00