gdb: remove unnecessary NULL checks before xfree
authorSimon Marchi <simon.marchi@efficios.com>
Thu, 21 May 2020 17:12:29 +0000 (13:12 -0400)
committerSimon Marchi <simon.marchi@efficios.com>
Thu, 21 May 2020 17:12:29 +0000 (13:12 -0400)
I was inspired by a series of patches merged by Alan Modra in the other
projects, so I did the same in GDB with a bit of Coccinelle and grep.

This patch removes the unnecessary NULL checks before calls to xfree.
They are unnecessary because xfree already does a NULL check.  Since
free is supposed to handle NULL values correctly, the NULL check in
xfree itself is also questionable, but I've left it there for now.

gdb/ChangeLog:

* coffread.c (patch_type): Remove NULL check before xfree.
* corefile.c (set_gnutarget): Likewise.
* cp-abi.c (set_cp_abi_as_auto_default): Likewise.
* exec.c (build_section_table): Likewise.
* remote.c (remote_target::pass_signals): Likewise.
* utils.c (n_spaces): Likewise.
* cli/cli-script.c (document_command): Likewise.
* i386-windows-tdep.c (core_process_module_section): Likewise.
* linux-fork.c (struct fork_info) <~fork_info>: Likewise.

gdb/ChangeLog
gdb/cli/cli-script.c
gdb/coffread.c
gdb/corefile.c
gdb/cp-abi.c
gdb/exec.c
gdb/i386-windows-tdep.c
gdb/linux-fork.c
gdb/remote.c
gdb/symfile.c
gdb/utils.c

index 38d18976110982a67319404d25763b03968c38e0..4574440578870d36b6f84638e74dc1090f85b8b9 100644 (file)
@@ -1,3 +1,15 @@
+2020-05-21  Simon Marchi  <simon.marchi@efficios.com>
+
+       * coffread.c (patch_type): Remove NULL check before xfree.
+       * corefile.c (set_gnutarget): Likewise.
+       * cp-abi.c (set_cp_abi_as_auto_default): Likewise.
+       * exec.c (build_section_table): Likewise.
+       * remote.c (remote_target::pass_signals): Likewise.
+       * utils.c (n_spaces): Likewise.
+       * cli/cli-script.c (document_command): Likewise.
+       * i386-windows-tdep.c (core_process_module_section): Likewise.
+       * linux-fork.c (struct fork_info) <~fork_info>: Likewise.
+
 2020-05-20  Simon Marchi  <simon.marchi@efficios.com>
 
        * symfile.c (reread_symbols): Clear objfile's section_offsets
index c9d23789068d8110bb10d3f8d73559d6807fac40..90ee67a5f3d379b3197166249601e7e97b7f066b 100644 (file)
@@ -1528,8 +1528,7 @@ document_command (const char *comname, int from_tty)
   counted_command_line doclines = read_command_lines (prompt.c_str (),
                                                      from_tty, 0, 0);
 
-  if (c->doc)
-    xfree ((char *) c->doc);
+  xfree ((char *) c->doc);
 
   {
     struct command_line *cl1;
index fc44e53cc4c40521569b824fdaa5641c9a05c676..0f7a6e3e5ad0565e50d357379b04d96f54757e45 100644 (file)
@@ -1467,8 +1467,7 @@ patch_type (struct type *type, struct type *real_type)
     {
       /* The previous copy of TYPE_NAME is allocated by
         process_coff_symbol.  */
-      if (target->name ())
-       xfree ((char*) target->name ());
+      xfree ((char *) target->name ());
       target->set_name (xstrdup (real_target->name ()));
     }
 }
index 4ce1bb78f2829f869726e9171af5818bf15e9c9e..996e5301b27a336abbe60adfb2b16cd65fb874e6 100644 (file)
@@ -472,8 +472,7 @@ complete_set_gnutarget (struct cmd_list_element *cmd,
 void
 set_gnutarget (const char *newtarget)
 {
-  if (gnutarget_string != NULL)
-    xfree (gnutarget_string);
+  xfree (gnutarget_string);
   gnutarget_string = xstrdup (newtarget);
   set_gnutarget_command (NULL, 0, NULL);
 }
index 6997a7bdbe9be53e0248b9cbb2e380b194137b13..3e2edad45ca3aedf3cc46bc6b140d4c6c0821e28 100644 (file)
@@ -273,10 +273,8 @@ set_cp_abi_as_auto_default (const char *short_name)
                    _("Cannot find C++ ABI \"%s\" to set it as auto default."),
                    short_name);
 
-  if (auto_cp_abi.longname != NULL)
-    xfree ((char *) auto_cp_abi.longname);
-  if (auto_cp_abi.doc != NULL)
-    xfree ((char *) auto_cp_abi.doc);
+  xfree ((char *) auto_cp_abi.longname);
+  xfree ((char *) auto_cp_abi.doc);
 
   auto_cp_abi = *abi;
 
index 93dd157e583ee729d26081d0f7c7a6ce0793e4ff..14c77495a38f14629d9f67a2a41901d6c74a47ce 100644 (file)
@@ -648,8 +648,7 @@ build_section_table (struct bfd *some_bfd, struct target_section **start,
   unsigned count;
 
   count = bfd_count_sections (some_bfd);
-  if (*start)
-    xfree (* start);
+  xfree (*start);
   *start = XNEWVEC (struct target_section, count);
   *end = *start;
   bfd_map_over_sections (some_bfd, add_to_section_table, (char *) end);
index 7233b1f28f51754e6a81033b292c6daa2cef42e1..f5965399abceaae271bb5010cfcfa109321c69d6 100644 (file)
@@ -142,8 +142,7 @@ core_process_module_section (bfd *abfd, asection *sect, void *obj)
   data->module_count++;
 
 out:
-  if (buf)
-    xfree (buf);
+  xfree (buf);
   return;
 }
 
index 2233d4429ce0a0fd4effd912ed5d7aa1f7e60285..e232d9c263a2df58d7f0352e0a53ff65b312a265 100644 (file)
@@ -61,8 +61,8 @@ struct fork_info
 
     if (savedregs)
       delete savedregs;
-    if (filepos)
-      xfree (filepos);
+
+    xfree (filepos);
   }
 
   ptid_t ptid = null_ptid;
index 312a03c8fb42d2c256a049812eff5e19cb58a91f..c73eb6e9e136f4d611aeb631b3641ceda5b238b1 100644 (file)
@@ -2615,8 +2615,7 @@ remote_target::pass_signals (gdb::array_view<const unsigned char> pass_signals)
          putpkt (pass_packet);
          getpkt (&rs->buf, 0);
          packet_ok (rs->buf, &remote_protocol_packets[PACKET_QPassSignals]);
-         if (rs->last_pass_packet)
-           xfree (rs->last_pass_packet);
+         xfree (rs->last_pass_packet);
          rs->last_pass_packet = pass_packet;
        }
       else
index b02a9235663b00823d687c002630de566ef7e07b..b29f864b3735989392dae7684754e7958413a08d 100644 (file)
@@ -3404,8 +3404,7 @@ enum ovly_index
 static void
 simple_free_overlay_table (void)
 {
-  if (cache_ovly_table)
-    xfree (cache_ovly_table);
+  xfree (cache_ovly_table);
   cache_novlys = 0;
   cache_ovly_table = NULL;
   cache_ovly_table_base = 0;
index 989b13d0e0f3882eab9e872c149116368e05c1d6..d2290c30a78b895fb63be8bc3236772b7d00cf72 100644 (file)
@@ -2260,8 +2260,7 @@ n_spaces (int n)
 
   if (n > max_spaces)
     {
-      if (spaces)
-       xfree (spaces);
+      xfree (spaces);
       spaces = (char *) xmalloc (n + 1);
       for (t = spaces + n; t != spaces;)
        *--t = ' ';