summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen2001-06-20 20:47:31 +0000
committerEric Andersen2001-06-20 20:47:31 +0000
commitaff5e2eaef3a625bfa7760e59a6cf29de5cb0282 (patch)
tree0037911818b382882261c44a8de57c08d1cfb17b
parent06a71cced288126a5dfa2ff37b8138bebe8c1c42 (diff)
downloadbusybox-aff5e2eaef3a625bfa7760e59a6cf29de5cb0282.zip
busybox-aff5e2eaef3a625bfa7760e59a6cf29de5cb0282.tar.gz
it turs out, there was a nasty tar bug where bb tar would create leading dirs
with mode 0777 in all cases due to usask issues. Thanks to Matt Kraai for noticing and spotting the culprit. This makes bb tar behave just like GNU tar once again. -Erik
-rw-r--r--archival/tar.c8
-rw-r--r--tar.c8
2 files changed, 0 insertions, 16 deletions
diff --git a/archival/tar.c b/archival/tar.c
index 0cb638a..bca5a09 100644
--- a/archival/tar.c
+++ b/archival/tar.c
@@ -576,10 +576,6 @@ static int readTarFile(int tarFd, int extractFlag, int listFlag,
TarHeader rawHeader;
TarInfo header;
- /* Set the umask for this process so it doesn't
- * screw up permission setting for us later. */
- umask(0);
-
/* Read the tar file, and iterate over it one file at a time */
while ( (status = full_read(tarFd, (char*)&rawHeader, TAR_BLOCK_SIZE)) == TAR_BLOCK_SIZE ) {
@@ -1109,10 +1105,6 @@ static int writeTarFile(const char* tarName, int verboseFlag, char **argv,
if (fstat(tbInfo.tarFd, &tbInfo.statBuf) < 0)
error_msg_and_die(io_error, tarName, strerror(errno));
- /* Set the umask for this process so it doesn't
- * screw up permission setting for us later. */
- umask(0);
-
/* Read the directory/files and iterate over them one at a time */
while (*argv != NULL) {
if (recursive_action(*argv++, TRUE, FALSE, FALSE,
diff --git a/tar.c b/tar.c
index 0cb638a..bca5a09 100644
--- a/tar.c
+++ b/tar.c
@@ -576,10 +576,6 @@ static int readTarFile(int tarFd, int extractFlag, int listFlag,
TarHeader rawHeader;
TarInfo header;
- /* Set the umask for this process so it doesn't
- * screw up permission setting for us later. */
- umask(0);
-
/* Read the tar file, and iterate over it one file at a time */
while ( (status = full_read(tarFd, (char*)&rawHeader, TAR_BLOCK_SIZE)) == TAR_BLOCK_SIZE ) {
@@ -1109,10 +1105,6 @@ static int writeTarFile(const char* tarName, int verboseFlag, char **argv,
if (fstat(tbInfo.tarFd, &tbInfo.statBuf) < 0)
error_msg_and_die(io_error, tarName, strerror(errno));
- /* Set the umask for this process so it doesn't
- * screw up permission setting for us later. */
- umask(0);
-
/* Read the directory/files and iterate over them one at a time */
while (*argv != NULL) {
if (recursive_action(*argv++, TRUE, FALSE, FALSE,