X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fnames.c;h=6e214bfa71e5d0c7854618288ecd8f504078359b;hb=983113b140dbb540923a3112fa27e9f508ff70c5;hp=c38ccb6ca2a25f18d65d219deaadcb194da3b178;hpb=8da503cad6e883b30c05749149084d24319063b4;p=chaz%2Ftar diff --git a/src/names.c b/src/names.c index c38ccb6..6e214bf 100644 --- a/src/names.c +++ b/src/names.c @@ -981,14 +981,15 @@ collect_and_sort_names (void) tar_stat_init (&st); - if (deref_stat (dereference_option, name->name, &st.stat) != 0) + if (deref_stat (name->name, &st.stat) != 0) { stat_diag (name->name); continue; } if (S_ISDIR (st.stat.st_mode)) { - int dir_fd = open (name->name, open_read_flags | O_DIRECTORY); + int dir_fd = openat (chdir_fd, name->name, + open_read_flags | O_DIRECTORY); if (dir_fd < 0) open_diag (name->name); else @@ -1158,7 +1159,7 @@ register_individual_file (char const *name) { struct stat st; - if (deref_stat (dereference_option, name, &st) != 0) + if (deref_stat (name, &st) != 0) return; /* Will be complained about later */ if (S_ISDIR (st.st_mode)) return;