summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2010-11-01 14:52:55 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2010-11-01 14:52:55 +0000
commit1d18880f9a7558d2bba28076e89f51029c0fb9b2 (patch)
tree332686cdc1a6290c28caf40bf785e4d2c022c729 /app-arch/tar/files
parentNew addition (diff)
downloadgentoo-2-1d18880f9a7558d2bba28076e89f51029c0fb9b2.tar.gz
gentoo-2-1d18880f9a7558d2bba28076e89f51029c0fb9b2.tar.bz2
gentoo-2-1d18880f9a7558d2bba28076e89f51029c0fb9b2.zip
Fix extraction of device nodes wrt #343245 by Albert W. Hopkins.
(Portage version: 2.2.0_alpha1/cvs/Linux x86_64)
Diffstat (limited to 'app-arch/tar/files')
-rw-r--r--app-arch/tar/files/tar-1.24-device-node.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/app-arch/tar/files/tar-1.24-device-node.patch b/app-arch/tar/files/tar-1.24-device-node.patch
new file mode 100644
index 000000000000..bdee8cd6459c
--- /dev/null
+++ b/app-arch/tar/files/tar-1.24-device-node.patch
@@ -0,0 +1,23 @@
+From 3913675640f65bb4774429d369681957b528996e Mon Sep 17 00:00:00 2001
+From: Sergey Poznyakoff <gray@gnu.org.ua>
+Date: Mon, 01 Nov 2010 13:04:41 +0000
+Subject: Fix extraction of device nodes.
+
+* src/extract.c (extract_node): Do not mask out node type.
+The bug was introduced in commit ea964cce.
+---
+diff --git a/src/extract.c b/src/extract.c
+index 44233b9..6711f87 100644
+--- a/src/extract.c
++++ b/src/extract.c
+@@ -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)
+--
+cgit v0.8.3.2