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.
This commit is contained in:
@@ -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)
|
||||
|
||||
12
src/list.c
12
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)
|
||||
{
|
||||
|
||||
@@ -37,8 +37,7 @@
|
||||
void
|
||||
assign_string (char **string, const char *value)
|
||||
{
|
||||
if (*string)
|
||||
free (*string);
|
||||
free (*string);
|
||||
*string = value ? xstrdup (value) : 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user