summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/binutils/binutils/0016-CVE-2022-47007.patch
blob: 75ad6ad3ba0095a428cb280451539253935ccd0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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);
       }