Fix ownership of extracted directories.
This commit is contained in:
parent
55787401ea
commit
541ffe30a2
@ -426,9 +426,12 @@ tarExtractDirectory(TarInfo *header, int extractFlag, int tostdoutFlag)
|
|||||||
/* make the final component, just in case it was
|
/* make the final component, just in case it was
|
||||||
* omitted by create_path() (which will skip the
|
* omitted by create_path() (which will skip the
|
||||||
* directory if it doesn't have a terminating '/') */
|
* directory if it doesn't have a terminating '/') */
|
||||||
if (mkdir(header->name, header->mode) == 0) {
|
if (mkdir(header->name, header->mode) < 0 && errno != EEXIST) {
|
||||||
fixUpPermissions(header);
|
perror_msg("%s", header->name);
|
||||||
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fixUpPermissions(header);
|
||||||
return( TRUE);
|
return( TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
7
tar.c
7
tar.c
@ -426,9 +426,12 @@ tarExtractDirectory(TarInfo *header, int extractFlag, int tostdoutFlag)
|
|||||||
/* make the final component, just in case it was
|
/* make the final component, just in case it was
|
||||||
* omitted by create_path() (which will skip the
|
* omitted by create_path() (which will skip the
|
||||||
* directory if it doesn't have a terminating '/') */
|
* directory if it doesn't have a terminating '/') */
|
||||||
if (mkdir(header->name, header->mode) == 0) {
|
if (mkdir(header->name, header->mode) < 0 && errno != EEXIST) {
|
||||||
fixUpPermissions(header);
|
perror_msg("%s", header->name);
|
||||||
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fixUpPermissions(header);
|
||||||
return( TRUE);
|
return( TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user