Browse Source

tar: if (p) free (p); -> free (p);

There is no longer (since SunOS 4) any need to guard against
free (NULL), so replace each "if (p) free (p);" with "free (p);".
From Jim Meyering in
<http://lists.gnu.org/archive/html/bug-tar/2011-01/msg00026.html>.
* src/incremen.c (scan_directory, read_directory_file): As above.
(try_purge_directory): Likewise.
* src/list.c (read_header): Likewise.
* src/misc.c (assign_string): Likewise.
Paul Eggert 14 years ago
parent
commit
2807513841
3 changed files with 8 additions and 16 deletions
  1. 3 6
      src/incremen.c
  2. 4 8
      src/list.c
  3. 1 2
      src/misc.c

+ 3 - 6
src/incremen.c

@@ -779,8 +779,7 @@ scan_directory (struct tar_stat_info *st)
 
   namebuf_free (nbuf);
 
-  if (dirp)
-    free (dirp);
+  free (dirp);
 
   return directory;
 }
@@ -1348,8 +1347,7 @@ read_directory_file (void)
 
   if (ferror (listed_incremental_stream))
     read_error (listed_incremental_option);
-  if (buf)
-    free (buf);
+  free (buf);
 }
 
 /* Output incremental data for the directory ENTRY to the file DATA.
@@ -1660,8 +1658,7 @@ try_purge_directory (char const *directory_name)
     {
       const char *entry;
       struct stat st;
-      if (p)
-	free (p);
+      free (p);
       p = new_name (directory_name, cur);
 
       if (deref_stat (p, &st) != 0)

+ 4 - 8
src/list.c

@@ -433,15 +433,13 @@ read_header (union block **return_block, struct tar_stat_info *info,
 
 	      if (header->header.typeflag == GNUTYPE_LONGNAME)
 		{
-		  if (next_long_name)
-		    free (next_long_name);
+		  free (next_long_name);
 		  next_long_name = header_copy;
 		  next_long_name_blocks = size / BLOCKSIZE;
 		}
 	      else
 		{
-		  if (next_long_link)
-		    free (next_long_link);
+		  free (next_long_link);
 		  next_long_link = header_copy;
 		  next_long_link_blocks = size / BLOCKSIZE;
 		}
@@ -500,8 +498,7 @@ read_header (union block **return_block, struct tar_stat_info *info,
 	  struct posix_header const *h = &header->header;
 	  char namebuf[sizeof h->prefix + 1 + NAME_FIELD_SIZE + 1];
 
-	  if (recent_long_name)
-	    free (recent_long_name);
+	  free (recent_long_name);
 
 	  if (next_long_name)
 	    {
@@ -532,8 +529,7 @@ read_header (union block **return_block, struct tar_stat_info *info,
 	  assign_string (&info->file_name, name);
 	  info->had_trailing_slash = strip_trailing_slashes (info->file_name);
 
-	  if (recent_long_link)
-	    free (recent_long_link);
+	  free (recent_long_link);
 
 	  if (next_long_link)
 	    {

+ 1 - 2
src/misc.c

@@ -37,8 +37,7 @@
 void
 assign_string (char **string, const char *value)
 {
-  if (*string)
-    free (*string);
+  free (*string);
   *string = value ? xstrdup (value) : 0;
 }