aboutsummaryrefslogtreecommitdiff
path: root/tar.c
diff options
context:
space:
mode:
Diffstat (limited to 'tar.c')
-rw-r--r--tar.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/tar.c b/tar.c
index 9a3cff361..844559580 100644
--- a/tar.c
+++ b/tar.c
@@ -426,9 +426,12 @@ tarExtractDirectory(TarInfo *header, int extractFlag, int tostdoutFlag)
426 /* make the final component, just in case it was 426 /* make the final component, just in case it was
427 * omitted by create_path() (which will skip the 427 * omitted by create_path() (which will skip the
428 * directory if it doesn't have a terminating '/') */ 428 * directory if it doesn't have a terminating '/') */
429 if (mkdir(header->name, header->mode) == 0) { 429 if (mkdir(header->name, header->mode) < 0 && errno != EEXIST) {
430 fixUpPermissions(header); 430 perror_msg("%s", header->name);
431 return FALSE;
431 } 432 }
433
434 fixUpPermissions(header);
432 return( TRUE); 435 return( TRUE);
433} 436}
434 437