From: Deepthi Hemraj Date: Tue, 21 Nov 2023 11:51:13 +0000 (-0800) Subject: binutils: Fix CVE-2022-47007 X-Git-Tag: yocto-5.2~4523 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3f335913bbbabf48db1749d197c3bfaac9fb7236;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git binutils: Fix CVE-2022-47007 Signed-off-by: Deepthi Hemraj Signed-off-by: Alexandre Belloni --- diff --git a/meta/recipes-devtools/binutils/binutils-2.41.inc b/meta/recipes-devtools/binutils/binutils-2.41.inc index b4934c02a89..bba87abba2c 100644 --- a/meta/recipes-devtools/binutils/binutils-2.41.inc +++ b/meta/recipes-devtools/binutils/binutils-2.41.inc @@ -34,5 +34,6 @@ SRC_URI = "\ file://0013-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch \ file://0014-Remove-duplicate-pe-dll.o-entry-deom-targ_extra_ofil.patch \ file://0015-gprofng-Fix-build-with-64bit-file-offset-on-32bit-ma.patch \ + file://0016-CVE-2022-47007.patch \ " S = "${WORKDIR}/git" diff --git a/meta/recipes-devtools/binutils/binutils/0016-CVE-2022-47007.patch b/meta/recipes-devtools/binutils/binutils/0016-CVE-2022-47007.patch new file mode 100644 index 00000000000..75ad6ad3ba0 --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/0016-CVE-2022-47007.patch @@ -0,0 +1,35 @@ +From: Alan Modra +Date: Thu, 16 Jun 2022 23:30:41 +0000 (+0930) +Subject: PR29254, memory leak in stab_demangle_v3_arg +X-Git-Tag: binutils-2_39~237 +X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=0ebc886149c22aceaf8ed74267821a59ca9d03eb + +PR29254, memory leak in stab_demangle_v3_arg + + PR 29254 + * stabs.c (stab_demangle_v3_arg): Free dt on failure path. + +Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=0ebc886149c22aceaf8ed74267821a59ca9d03eb] + +CVE: CVE-2022-47007 + +Signed-off-by: Deepthi Hemraj + +--- + +diff --git a/binutils/stabs.c b/binutils/stabs.c +index 2b5241637c1..796ff85b86a 100644 +--- a/binutils/stabs.c ++++ b/binutils/stabs.c +@@ -5467,7 +5467,10 @@ stab_demangle_v3_arg (void *dhandle, struct stab_handle *info, + dc->u.s_binary.right, + &varargs); + if (pargs == NULL) +- return NULL; ++ { ++ free (dt); ++ return NULL; ++ } + + return debug_make_function_type (dhandle, dt, pargs, varargs); + }