tar: add a comment about previous subtle fix
No binary (build failed)
—
(log yok)
| @@ -386,6 +386,7 @@ static int writeFileToTarball(const char *fileName, struct stat *statbuf, | |
| const char *header_name; | |
| int inputFileFd = -1; | |
| + | /* Strip leading '/' (must be before memorizing hardlink's name) */ |
| header_name = fileName; | |
| while (header_name[0] == '/') { | |
| static smallint warned; | |
| @@ -400,6 +401,12 @@ static int writeFileToTarball(const char *fileName, struct stat *statbuf, | |
| if (header_name[0] == '\0') | |
| return TRUE; | |
| + | /* It is against the rules to archive a socket */ |
| + | if (S_ISSOCK(statbuf->st_mode)) { |
| + | bb_error_msg("%s: socket ignored", fileName); |
| + | return TRUE; |
| + | } |
| + | |
| /* | |
| * Check to see if we are dealing with a hard link. | |
| * If so - | |
| @@ -414,12 +421,6 @@ static int writeFileToTarball(const char *fileName, struct stat *statbuf, | |
| addHardLinkInfo(&tbInfo->hlInfoHead, statbuf, header_name); | |
| } | |
| - | /* It is against the rules to archive a socket */ |
| - | if (S_ISSOCK(statbuf->st_mode)) { |
| - | bb_error_msg("%s: socket ignored", fileName); |
| - | return TRUE; |
| - | } |
| - | |
| /* It is a bad idea to store the archive we are in the process of creating, | |
| * so check the device and inode to be sure that this particular file isn't | |
| * the new tarball */ | |