Browse Source

(write_long_name): Do not allow more than
NAME_FIELD_SIZE-1 characters in a file name for V7 format
archives.

Sergey Poznyakoff 21 years ago
parent
commit
d8981440bb
1 changed files with 10 additions and 1 deletions
  1. 10 1
      src/create.c

+ 10 - 1
src/create.c

@@ -519,7 +519,16 @@ write_long_name (struct tar_stat_info *st)
       xheader_store ("path", st, NULL);
       break;
 
-    case V7_FORMAT:		      
+    case V7_FORMAT:
+      if (strlen (st->file_name) > NAME_FIELD_SIZE-1)
+	{
+	  WARN ((0, 0, _("%s: file name is too long (max %d); not dumped"),
+		 quotearg_colon (st->file_name),
+		 NAME_FIELD_SIZE - 1));
+	  return NULL;
+	}
+      break;
+      
     case USTAR_FORMAT:
     case STAR_FORMAT:
       return write_ustar_long_name (st->file_name);