]> Dogcows Code - chaz/tar/commitdiff
Fix extraction of device nodes.
authorSergey Poznyakoff <gray@gnu.org.ua>
Mon, 1 Nov 2010 13:04:41 +0000 (15:04 +0200)
committerSergey Poznyakoff <gray@gnu.org.ua>
Mon, 1 Nov 2010 13:05:25 +0000 (15:05 +0200)
* src/extract.c (extract_node): Do not mask out node type.
The bug was introduced in commit ea964cce.

src/extract.c

index 44233b9efdddbd51f123385418cbfe5d6270a0e5..6711f8736951a3a541d85dec9c845a9bc5e38f97 100644 (file)
@@ -1205,7 +1205,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)
This page took 0.02562 seconds and 4 git commands to generate.