tar: add a comment about previous subtle fix

This commit is contained in:
Denis Vlasenko 2007-09-24 19:32:53 +00:00
parent 86e0a22ec6
commit e9b3321b9f

View File

@ -386,6 +386,7 @@ static int writeFileToTarball(const char *fileName, struct stat *statbuf,
const char *header_name; const char *header_name;
int inputFileFd = -1; int inputFileFd = -1;
/* Strip leading '/' (must be before memorizing hardlink's name) */
header_name = fileName; header_name = fileName;
while (header_name[0] == '/') { while (header_name[0] == '/') {
static smallint warned; static smallint warned;
@ -400,6 +401,12 @@ static int writeFileToTarball(const char *fileName, struct stat *statbuf,
if (header_name[0] == '\0') if (header_name[0] == '\0')
return TRUE; 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. * Check to see if we are dealing with a hard link.
* If so - * If so -
@ -414,12 +421,6 @@ static int writeFileToTarball(const char *fileName, struct stat *statbuf,
addHardLinkInfo(&tbInfo->hlInfoHead, statbuf, header_name); 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, /* 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 * so check the device and inode to be sure that this particular file isn't
* the new tarball */ * the new tarball */