[PATCH v2 1/4] x86: don't leak sub-architecture accumulated strings
Jan Beulich
jbeulich@suse.com
Tue Jul 5 06:44:13 GMT 2022
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.
---
v2: Use free() (hesitantly).
--- 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)
@@ -13236,6 +13237,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;
@@ -13899,6 +13901,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;
More information about the Binutils
mailing list