summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2022-07-06 09:20:29 +0200
committerJan Beulich <jbeulich@suse.com>2022-07-06 09:20:29 +0200
commitd92c7521f9b01841f27a16502819081e992dd0f5 (patch)
tree1309533e618a807a3691068e27248032ee3be6f6
parent8df97668162050ccd708c6b5c8ac9c98f9bebdac (diff)
x86: don't leak sub-architecture accumulated strings
While it may not be necessary in i386_target_format() (but then setting the variable to NULL also wouldn't be necessary), at least in the other cases strings may already have accumulated.
-rw-r--r--gas/config/tc-i386.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index e2b618fe30..4829ff8aaa 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -2738,6 +2738,7 @@ set_cpu_arch (int dummy ATTRIBUTE_UNUSED)
check_cpu_arch_compatible (string, cpu_arch[j].flags);
cpu_arch_name = cpu_arch[j].name;
+ free (cpu_sub_arch_name);
cpu_sub_arch_name = NULL;
cpu_arch_flags = cpu_arch[j].flags;
if (flag_code == CODE_64BIT)
@@ -13234,6 +13235,7 @@ md_parse_option (int c, const char *arg)
continue;
cpu_arch_name = cpu_arch[j].name;
+ free (cpu_sub_arch_name);
cpu_sub_arch_name = NULL;
cpu_arch_flags = cpu_arch[j].flags;
cpu_arch_isa = cpu_arch[j].type;
@@ -13897,6 +13899,7 @@ i386_target_format (void)
{
static const i386_cpu_flags iamcu_flags = CPU_IAMCU_FLAGS;
cpu_arch_name = "iamcu";
+ free (cpu_sub_arch_name);
cpu_sub_arch_name = NULL;
cpu_arch_flags = iamcu_flags;
cpu_arch_isa = PROCESSOR_IAMCU;