فهرست منبع

Update invocations of safer_name_suffix()

Sergey Poznyakoff 20 سال پیش
والد
کامیت
f2c8b1dff3
4فایلهای تغییر یافته به همراه19 افزوده شده و 8 حذف شده
  1. 9 3
      src/buffer.c
  2. 4 2
      src/create.c
  3. 4 2
      src/extract.c
  4. 2 1
      src/xheader.c

+ 9 - 3
src/buffer.c

@@ -587,7 +587,9 @@ flush_write (void)
 	{
 	  if (save_name)
 	    {
-	      assign_string (&real_s_name, safer_name_suffix (save_name, false));
+	      assign_string (&real_s_name, 
+	                     safer_name_suffix (save_name, false, 
+	                                        absolute_names_option));
 	      real_s_totsize = save_totsize;
 	      real_s_sizeleft = save_sizeleft;
 	    }
@@ -693,7 +695,9 @@ flush_write (void)
 	assign_string (&real_s_name, 0);
       else
 	{
-	  assign_string (&real_s_name, safer_name_suffix (save_name, false));
+	  assign_string (&real_s_name, 
+	                 safer_name_suffix (save_name, false,
+	                                    absolute_names_option));
 	  real_s_sizeleft = save_sizeleft;
 	  real_s_totsize = save_totsize;
 	}
@@ -821,7 +825,9 @@ flush_read (void)
     {
       if (save_name)
 	{
-	  assign_string (&real_s_name, safer_name_suffix (save_name, false));
+	  assign_string (&real_s_name, 
+	                 safer_name_suffix (save_name, false,
+	                                    absolute_names_option));
 	  real_s_sizeleft = save_sizeleft;
 	  real_s_totsize = save_totsize;
 	}

+ 4 - 2
src/create.c

@@ -1263,7 +1263,8 @@ dump_hard_link (struct tar_stat_info *st)
       if ((duplicate = hash_lookup (link_table, &lp)))
 	{
 	  /* We found a link.  */
-	  char const *link_name = safer_name_suffix (duplicate->name, true);
+	  char const *link_name = safer_name_suffix (duplicate->name, true,
+	                                             absolute_names_option);
 
 	  duplicate->nlink--;
 
@@ -1361,7 +1362,8 @@ dump_file0 (struct tar_stat_info *st, char *p,
     return;
 
   assign_string (&st->orig_file_name, p);
-  assign_string (&st->file_name, safer_name_suffix (p, false));
+  assign_string (&st->file_name, 
+                 safer_name_suffix (p, false, absolute_names_option));
 
   if (deref_stat (dereference_option, p, &st->stat) != 0)
     {

+ 4 - 2
src/extract.c

@@ -778,7 +778,8 @@ extract_file (char *file_name, int typeflag)
 static int
 extract_link (char *file_name, int typeflag)
 {
-  char const *link_name = safer_name_suffix (current_stat_info.link_name, true);
+  char const *link_name = safer_name_suffix (current_stat_info.link_name, 
+                                             true, absolute_names_option);
   int interdir_made = 0;
 
   do
@@ -1133,7 +1134,8 @@ extract_archive (void)
   if (verbose_option)
     print_header (&current_stat_info, -1);
 
-  file_name = safer_name_suffix (current_stat_info.file_name, false);
+  file_name = safer_name_suffix (current_stat_info.file_name, 
+                                 false, absolute_names_option);
   if (strip_name_components)
     {
       size_t prefix_len = stripped_prefix_len (file_name, strip_name_components);

+ 2 - 1
src/xheader.c

@@ -246,7 +246,8 @@ xheader_format_name (struct tar_stat_info *st, const char *fmt, bool allow_n)
 	case 'd':
 	  if (st)
 	    {
-	      dir = safer_name_suffix (dir_name (st->orig_file_name), false);
+	      dir = safer_name_suffix (dir_name (st->orig_file_name), 
+	                               false, absolute_names_option);
 	      len += strlen (dir) - 1;
 	    }
 	  break;