]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
binutils: Fix CVE-2022-47007
authorDeepthi Hemraj <Deepthi.Hemraj@windriver.com>
Tue, 21 Nov 2023 11:51:13 +0000 (03:51 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 23 Nov 2023 12:46:06 +0000 (12:46 +0000)
Signed-off-by: Deepthi Hemraj <Deepthi.Hemraj@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
meta/recipes-devtools/binutils/binutils-2.41.inc
meta/recipes-devtools/binutils/binutils/0016-CVE-2022-47007.patch [new file with mode: 0644]

index b4934c02a893f54a9fa483e33974a0c5760c6167..bba87abba2cfe2f532856de9c6892b2744c59425 100644 (file)
@@ -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 (file)
index 0000000..75ad6ad
--- /dev/null
@@ -0,0 +1,35 @@
+From: Alan Modra <amodra@gmail.com>
+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 <Deepthi.Hemraj@windriver.com>
+
+---
+
+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);
+       }