diff options
author | kraai <kraai@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2001-01-13 21:46:25 +0000 |
---|---|---|
committer | kraai <kraai@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2001-01-13 21:46:25 +0000 |
commit | 5ab7d2c99985e627df071abbdfae8311465305c8 (patch) | |
tree | 8a6e36ab55776b9354e1bfc869e24befb5ccfa21 /tar.c | |
parent | fde52524fe3d2c413f4b0522947a534ee52cc02b (diff) | |
download | busybox-w32-5ab7d2c99985e627df071abbdfae8311465305c8.tar.gz busybox-w32-5ab7d2c99985e627df071abbdfae8311465305c8.tar.bz2 busybox-w32-5ab7d2c99985e627df071abbdfae8311465305c8.zip |
Fix ownership of extracted directories.
git-svn-id: svn://busybox.net/trunk/busybox@1562 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'tar.c')
-rw-r--r-- | tar.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -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 | ||