X-Git-Url: https://git.cworth.org/git?p=tar;a=blobdiff_plain;f=src%2Fextract.c;fp=src%2Fextract.c;h=3d3eafbcc6b9b9d30cc99796f5f994a98779b8d8;hp=98236acad29b03260f9df7466edc25dc1d8cc13f;hb=93e450b2152325a1abfa80167284a047b9b2756f;hpb=40c40231f79e4325a3e07a59c8280fa46341fc88 diff --git a/src/extract.c b/src/extract.c index 98236ac..3d3eafb 100644 --- a/src/extract.c +++ b/src/extract.c @@ -1191,7 +1191,7 @@ static int extract_node (char *file_name, int typeflag) { bool interdir_made = false; - mode_t mode = (current_stat_info.stat.st_mode & MODE_RWX + mode_t mode = (current_stat_info.stat.st_mode & (MODE_RWX | S_IFBLK | S_IFCHR) & ~ (0 < same_owner_option ? S_IRWXG | S_IRWXO : 0)); while (mknodat (chdir_fd, file_name, mode, current_stat_info.stat.st_rdev)