If we're unable to chdir() to a directory that we know exists,
that should result in a non-zero return value. In particular, this should address the issue that David Wolfskill ran into with a somewhat flaky NFS mount resulting in a damaged archive even though tar returned success. MFC after: 4 days
This commit is contained in:
parent
559b717f5e
commit
e4504a7d06
@ -655,8 +655,10 @@ write_hierarchy(struct bsdtar *bsdtar, struct archive *a, const char *path)
|
||||
const struct stat *st = NULL, *lst = NULL;
|
||||
int descend;
|
||||
|
||||
if (tree_ret == TREE_ERROR_DIR)
|
||||
if (tree_ret == TREE_ERROR_DIR) {
|
||||
bsdtar_warnc(bsdtar, errno, "%s: Couldn't visit directory", name);
|
||||
bsdtar->return_value = 1;
|
||||
}
|
||||
if (tree_ret != TREE_REGULAR)
|
||||
continue;
|
||||
lst = tree_current_lstat(tree);
|
||||
|
Loading…
Reference in New Issue
Block a user