diff options
Diffstat (limited to 'binutils')
-rw-r--r-- | binutils/ChangeLog | 12 | ||||
-rw-r--r-- | binutils/addr2line.c | 10 | ||||
-rw-r--r-- | binutils/dlltool.c | 16 | ||||
-rw-r--r-- | binutils/elfcomm.c | 12 | ||||
-rw-r--r-- | binutils/rddbg.c | 13 | ||||
-rw-r--r-- | binutils/readelf.c | 172 | ||||
-rw-r--r-- | binutils/stabs.c | 18 | ||||
-rw-r--r-- | binutils/windmc.c | 9 | ||||
-rw-r--r-- | binutils/windres.c | 3 | ||||
-rw-r--r-- | binutils/wrstabs.c | 3 |
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; |