aboutsummaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
Diffstat (limited to 'binutils')
-rw-r--r--binutils/ChangeLog12
-rw-r--r--binutils/addr2line.c10
-rw-r--r--binutils/dlltool.c16
-rw-r--r--binutils/elfcomm.c12
-rw-r--r--binutils/rddbg.c13
-rw-r--r--binutils/readelf.c172
-rw-r--r--binutils/stabs.c18
-rw-r--r--binutils/windmc.c9
-rw-r--r--binutils/windres.c3
-rw-r--r--binutils/wrstabs.c3
10 files changed, 92 insertions, 176 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index e906bdf..a6194bd 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,5 +1,17 @@
2020-05-21 Alan Modra <amodra@gmail.com>
+ * addr2line.c: Replace "if (x) free (x)" with "free (x)" throughout.
+ * dlltool.c: Likewise.
+ * elfcomm.c: Likewise.
+ * rddbg.c: Likewise.
+ * readelf.c: Likewise.
+ * stabs.c: Likewise.
+ * windmc.c: Likewise.
+ * windres.c: Likewise.
+ * wrstabs.c: Likewise.
+
+2020-05-21 Alan Modra <amodra@gmail.com>
+
* readelf.c (get_num_dynamic_syms): Bounds check mipsxlat array
access.
diff --git a/binutils/addr2line.c b/binutils/addr2line.c
index 4b43aec..846720f 100644
--- a/binutils/addr2line.c
+++ b/binutils/addr2line.c
@@ -314,8 +314,7 @@ translate_addresses (bfd *abfd, asection *section)
else
printf ("\n");
- if (alloc != NULL)
- free (alloc);
+ free (alloc);
}
if (base_names && filename != NULL)
@@ -410,11 +409,8 @@ process_file (const char *file_name, const char *section_name,
translate_addresses (abfd, section);
- if (syms != NULL)
- {
- free (syms);
- syms = NULL;
- }
+ free (syms);
+ syms = NULL;
bfd_close (abfd);
diff --git a/binutils/dlltool.c b/binutils/dlltool.c
index 734c727..d22ff54 100644
--- a/binutils/dlltool.c
+++ b/binutils/dlltool.c
@@ -1253,8 +1253,7 @@ def_import (const char *app_name, const char *module, const char *dllext,
append_import (application_name, module, ord_val, its_name);
- if (buf)
- free (buf);
+ free (buf);
}
void
@@ -1335,7 +1334,7 @@ run (const char *what, char *args)
pid = pexecute (argv[0], (char * const *) argv, program_name, temp_base,
&errmsg_fmt, &errmsg_arg, PEXECUTE_ONE | PEXECUTE_SEARCH);
- free(argv);
+ free (argv);
if (pid == -1)
{
@@ -3388,15 +3387,8 @@ dll_name_list_free_contents (dll_name_list_node_type * entry)
if (entry)
{
if (entry->next)
- {
- dll_name_list_free_contents (entry->next);
- entry->next = NULL;
- }
- if (entry->dllname)
- {
- free (entry->dllname);
- entry->dllname = NULL;
- }
+ dll_name_list_free_contents (entry->next);
+ free (entry->dllname);
free (entry);
}
}
diff --git a/binutils/elfcomm.c b/binutils/elfcomm.c
index 5ec4690..558afa7 100644
--- a/binutils/elfcomm.c
+++ b/binutils/elfcomm.c
@@ -744,14 +744,10 @@ setup_nested_archive (struct archive_info *nested_arch,
void
release_archive (struct archive_info * arch)
{
- if (arch->file_name != NULL)
- free (arch->file_name);
- if (arch->index_array != NULL)
- free (arch->index_array);
- if (arch->sym_table != NULL)
- free (arch->sym_table);
- if (arch->longnames != NULL)
- free (arch->longnames);
+ free (arch->file_name);
+ free (arch->index_array);
+ free (arch->sym_table);
+ free (arch->longnames);
}
/* Get the name of an archive member from the current archive header.
diff --git a/binutils/rddbg.c b/binutils/rddbg.c
index 72e9340..930dbf7 100644
--- a/binutils/rddbg.c
+++ b/binutils/rddbg.c
@@ -319,8 +319,7 @@ read_symbol_stabs_debugging_info (bfd *abfd, asymbol **syms, long symcount,
sc[strlen (sc) - 1] = '\0';
n = concat (sc, bfd_asymbol_name (*ps), (const char *) NULL);
free (sc);
- if (f != NULL)
- free (f);
+ free (f);
f = n;
s = n;
}
@@ -372,8 +371,7 @@ static int saved_stabs_index;
static void
save_stab (int type, int desc, bfd_vma value, const char *string)
{
- if (saved_stabs[saved_stabs_index].string != NULL)
- free (saved_stabs[saved_stabs_index].string);
+ free (saved_stabs[saved_stabs_index].string);
saved_stabs[saved_stabs_index].type = type;
saved_stabs[saved_stabs_index].desc = desc;
saved_stabs[saved_stabs_index].value = value;
@@ -428,11 +426,8 @@ free_saved_stabs (void)
for (i = 0; i < SAVE_STABS_COUNT; i++)
{
- if (saved_stabs[i].string != NULL)
- {
- free (saved_stabs[i].string);
- saved_stabs[i].string = NULL;
- }
+ free (saved_stabs[i].string);
+ saved_stabs[i].string = NULL;
}
saved_stabs_index = 0;
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 798782c..0bdabcc 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -7010,8 +7010,7 @@ process_section_groups (Filedata * filedata)
if (symtab_sec != sec)
{
symtab_sec = sec;
- if (symtab)
- free (symtab);
+ free (symtab);
symtab = GET_ELF_SYMBOLS (filedata, symtab_sec, & num_syms);
}
@@ -7040,8 +7039,7 @@ process_section_groups (Filedata * filedata)
group_name = SECTION_NAME (filedata->section_headers + sym->st_shndx);
strtab_sec = NULL;
- if (strtab)
- free (strtab);
+ free (strtab);
strtab = NULL;
strtab_size = 0;
}
@@ -7051,8 +7049,7 @@ process_section_groups (Filedata * filedata)
if (symtab_sec->sh_link >= filedata->file_header.e_shnum)
{
strtab_sec = NULL;
- if (strtab)
- free (strtab);
+ free (strtab);
strtab = NULL;
strtab_size = 0;
}
@@ -7060,8 +7057,7 @@ process_section_groups (Filedata * filedata)
!= (sec = filedata->section_headers + symtab_sec->sh_link))
{
strtab_sec = sec;
- if (strtab)
- free (strtab);
+ free (strtab);
strtab = (char *) get_data (NULL, filedata, strtab_sec->sh_offset,
1, strtab_sec->sh_size,
@@ -7169,17 +7165,14 @@ process_section_groups (Filedata * filedata)
group->root = g;
}
- if (start)
- free (start);
+ free (start);
group++;
}
}
- if (symtab)
- free (symtab);
- if (strtab)
- free (strtab);
+ free (symtab);
+ free (strtab);
return TRUE;
}
@@ -7367,8 +7360,7 @@ process_ia64_vms_dynamic_relocs (Filedata * filedata)
}
}
- if (strtab != NULL)
- free (strtab);
+ free (strtab);
return res;
}
@@ -7514,8 +7506,7 @@ process_relocs (Filedata * filedata)
symtab, nsyms, strtab, strtablen,
is_rela,
symsec->sh_type == SHT_DYNSYM);
- if (strtab)
- free (strtab);
+ free (strtab);
free (symtab);
}
else
@@ -8041,19 +8032,15 @@ ia64_process_unwind (Filedata * filedata)
&& aux.table_len > 0)
dump_ia64_unwind (filedata, & aux);
- if (aux.table)
- free ((char *) aux.table);
- if (aux.info)
- free ((char *) aux.info);
+ free ((char *) aux.table);
+ free ((char *) aux.info);
aux.table = NULL;
aux.info = NULL;
}
}
- if (aux.symtab)
- free (aux.symtab);
- if (aux.strtab)
- free ((char *) aux.strtab);
+ free (aux.symtab);
+ free ((char *) aux.strtab);
return res;
}
@@ -8423,16 +8410,13 @@ hppa_process_unwind (Filedata * filedata)
res = FALSE;
}
- if (aux.table)
- free ((char *) aux.table);
+ free ((char *) aux.table);
aux.table = NULL;
}
}
- if (aux.symtab)
- free (aux.symtab);
- if (aux.strtab)
- free ((char *) aux.strtab);
+ free (aux.symtab);
+ free ((char *) aux.strtab);
return res;
}
@@ -8492,11 +8476,8 @@ arm_print_vma_and_name (Filedata * filedata,
static void
arm_free_section (struct arm_section *arm_sec)
{
- if (arm_sec->data != NULL)
- free (arm_sec->data);
-
- if (arm_sec->rela != NULL)
- free (arm_sec->rela);
+ free (arm_sec->data);
+ free (arm_sec->rela);
}
/* 1) If SEC does not match the one cached in ARM_SEC, then free the current
@@ -9530,10 +9511,8 @@ arm_process_unwind (Filedata * filedata)
}
}
- if (aux.symtab)
- free (aux.symtab);
- if (aux.strtab)
- free ((char *) aux.strtab);
+ free (aux.symtab);
+ free ((char *) aux.strtab);
return res;
}
@@ -10062,16 +10041,10 @@ get_num_dynamic_syms (Filedata * filedata)
no_hash:
if (num_of_syms == 0)
{
- if (filedata->buckets)
- {
- free (filedata->buckets);
- filedata->buckets = NULL;
- }
- if (filedata->chains)
- {
- free (filedata->chains);
- filedata->chains = NULL;
- }
+ free (filedata->buckets);
+ filedata->buckets = NULL;
+ free (filedata->chains);
+ filedata->chains = NULL;
filedata->nbuckets = 0;
}
}
@@ -10229,21 +10202,12 @@ get_num_dynamic_syms (Filedata * filedata)
if (num_of_syms == 0)
{
no_gnu_hash:
- if (filedata->mipsxlat)
- {
- free (filedata->mipsxlat);
- filedata->mipsxlat = NULL;
- }
- if (filedata->gnuchains)
- {
- free (filedata->gnuchains);
- filedata->gnuchains = NULL;
- }
- if (filedata->gnubuckets)
- {
- free (filedata->gnubuckets);
- filedata->gnubuckets = NULL;
- }
+ free (filedata->mipsxlat);
+ filedata->mipsxlat = NULL;
+ free (filedata->gnuchains);
+ filedata->gnuchains = NULL;
+ free (filedata->gnubuckets);
+ filedata->gnubuckets = NULL;
filedata->ngnubuckets = 0;
filedata->ngnuchains = 0;
}
@@ -14654,12 +14618,9 @@ free_debug_section (enum dwarf_section_display_enum debug)
section->address = 0;
section->size = 0;
- if (section->reloc_info != NULL)
- {
- free (section->reloc_info);
- section->reloc_info = NULL;
- section->num_relocs = 0;
- }
+ free (section->reloc_info);
+ section->reloc_info = NULL;
+ section->num_relocs = 0;
}
static bfd_boolean
@@ -16763,8 +16724,7 @@ process_mips_specific (Filedata * filedata)
}
sgot_print_fail:
- if (data)
- free (data);
+ free (data);
}
return res;
}
@@ -17396,8 +17356,7 @@ process_mips_specific (Filedata * filedata)
}
got_print_fail:
- if (data)
- free (data);
+ free (data);
}
if (mips_pltgot != 0 && jmprel != 0 && pltrel != 0 && pltrelsz != 0)
@@ -17474,8 +17433,7 @@ process_mips_specific (Filedata * filedata)
}
printf ("\n");
- if (data)
- free (data);
+ free (data);
free (rels);
}
@@ -19747,11 +19705,8 @@ process_notes_at (Filedata * filedata,
if (! process_note (& inote, filedata))
res = FALSE;
- if (temp != NULL)
- {
- free (temp);
- temp = NULL;
- }
+ free (temp);
+ temp = NULL;
}
free (pnotes);
@@ -20305,38 +20260,23 @@ process_object (Filedata * filedata)
filedata->string_table = NULL;
filedata->string_table_length = 0;
- if (filedata->dump.dump_sects != NULL)
- {
- free (filedata->dump.dump_sects);
- filedata->dump.dump_sects = NULL;
- filedata->dump.num_dump_sects = 0;
- }
+ free (filedata->dump.dump_sects);
+ filedata->dump.dump_sects = NULL;
+ filedata->dump.num_dump_sects = 0;
- if (filedata->dynamic_strings)
- {
- free (filedata->dynamic_strings);
- filedata->dynamic_strings = NULL;
- filedata->dynamic_strings_length = 0;
- }
+ free (filedata->dynamic_strings);
+ filedata->dynamic_strings = NULL;
+ filedata->dynamic_strings_length = 0;
- if (filedata->dynamic_symbols)
- {
- free (filedata->dynamic_symbols);
- filedata->dynamic_symbols = NULL;
- filedata->num_dynamic_syms = 0;
- }
+ free (filedata->dynamic_symbols);
+ filedata->dynamic_symbols = NULL;
+ filedata->num_dynamic_syms = 0;
- if (filedata->dynamic_syminfo)
- {
- free (filedata->dynamic_syminfo);
- filedata->dynamic_syminfo = NULL;
- }
+ free (filedata->dynamic_syminfo);
+ filedata->dynamic_syminfo = NULL;
- if (filedata->dynamic_section)
- {
- free (filedata->dynamic_section);
- filedata->dynamic_section = NULL;
- }
+ free (filedata->dynamic_section);
+ filedata->dynamic_section = NULL;
while (filedata->symtab_shndx_list != NULL)
{
@@ -20345,11 +20285,8 @@ process_object (Filedata * filedata)
filedata->symtab_shndx_list = next;
}
- if (filedata->section_headers_groups)
- {
- free (filedata->section_headers_groups);
- filedata->section_headers_groups = NULL;
- }
+ free (filedata->section_headers_groups);
+ filedata->section_headers_groups = NULL;
if (filedata->section_groups)
{
@@ -20810,8 +20747,7 @@ main (int argc, char ** argv)
if (! process_file (argv[optind++]))
err = TRUE;
- if (cmdline.dump_sects != NULL)
- free (cmdline.dump_sects);
+ free (cmdline.dump_sects);
free (dump_ctf_symtab_name);
free (dump_ctf_strtab_name);
diff --git a/binutils/stabs.c b/binutils/stabs.c
index 7cd782d..9f043d1 100644
--- a/binutils/stabs.c
+++ b/binutils/stabs.c
@@ -2119,8 +2119,7 @@ parse_stab_struct_type (void * dhandle,
|| ! parse_stab_tilde_field (dhandle, info, pp, typenums, &vptrbase,
&ownvptr, p_end))
{
- if (fields != NULL)
- free (fields);
+ free (fields);
return DEBUG_TYPE_NULL;
}
@@ -2955,12 +2954,9 @@ parse_stab_members (void * dhandle,
return TRUE;
fail:
- if (name != NULL)
- free (name);
- if (variants != NULL)
- free (variants);
- if (argtypes != NULL)
- free (argtypes);
+ free (name);
+ free (variants);
+ free (argtypes);
return FALSE;
}
@@ -3901,8 +3897,7 @@ stab_demangle_argtypes (void *dhandle, struct stab_handle *info,
return minfo.args;
error_return:
- if (minfo.typestrings != NULL)
- free (minfo.typestrings);
+ free (minfo.typestrings);
return NULL;
}
@@ -4516,8 +4511,7 @@ stab_demangle_template (struct stab_demangle_info *minfo, const char **pp,
if (s3 == NULL || s4 == NULL)
{
stab_bad_demangle (orig);
- if (s3 != NULL)
- free (s3);
+ free (s3);
return FALSE;
}
diff --git a/binutils/windmc.c b/binutils/windmc.c
index 31ebde3..0aae650 100644
--- a/binutils/windmc.c
+++ b/binutils/windmc.c
@@ -1161,12 +1161,9 @@ main (int argc, char **argv)
}
write_bin ();
- if (mc_nodes_lang)
- free (mc_nodes_lang);
- if (mc_severity_codes)
- free (mc_severity_codes);
- if (mc_facility_codes)
- free (mc_facility_codes);
+ free (mc_nodes_lang);
+ free (mc_severity_codes);
+ free (mc_facility_codes);
xexit (0);
return 0;
diff --git a/binutils/windres.c b/binutils/windres.c
index 9b921ba..427e982 100644
--- a/binutils/windres.c
+++ b/binutils/windres.c
@@ -704,8 +704,7 @@ quot (const char *string)
if ((buflen < slen * 2 + 2) || ! buf)
{
buflen = slen * 2 + 2;
- if (buf)
- free (buf);
+ free (buf);
buf = (char *) xmalloc (buflen);
}
diff --git a/binutils/wrstabs.c b/binutils/wrstabs.c
index 86abec2..0deed31 100644
--- a/binutils/wrstabs.c
+++ b/binutils/wrstabs.c
@@ -1224,8 +1224,7 @@ stab_method_type (void *p, bfd_boolean domainp, int argcount,
}
strcat (buf, ";");
- if (args != NULL)
- free (args);
+ free (args);
if (! stab_push_string (info, buf, 0, definition, 0))
return FALSE;