aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn L McGrath <bug1@ihug.co.nz>2002-11-15 08:48:47 +0000
committerGlenn L McGrath <bug1@ihug.co.nz>2002-11-15 08:48:47 +0000
commit2666679692a9685107f49d7efb09ddb9c61ffd43 (patch)
tree584f866aeba6b4949e6ea680f1dbb0a5775ddf7f
parent09eb000d7a21854e395c547420e02bd21e887042 (diff)
downloadbusybox-w32-2666679692a9685107f49d7efb09ddb9c61ffd43.tar.gz
busybox-w32-2666679692a9685107f49d7efb09ddb9c61ffd43.tar.bz2
busybox-w32-2666679692a9685107f49d7efb09ddb9c61ffd43.zip
Dont chdir untill after we open the archive
-rw-r--r--archival/tar.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/archival/tar.c b/archival/tar.c
index f9711f8df..cadab32ca 100644
--- a/archival/tar.c
+++ b/archival/tar.c
@@ -710,10 +710,6 @@ int tar_main(int argc, char **argv)
710 tar_handle->filter = filter_accept_reject_list; 710 tar_handle->filter = filter_accept_reject_list;
711 } 711 }
712 712
713 if ((base_dir) && (chdir(base_dir))) {
714 perror_msg_and_die("Couldnt chdir");
715 }
716
717#ifdef CONFIG_FEATURE_TAR_CREATE 713#ifdef CONFIG_FEATURE_TAR_CREATE
718 /* create an archive */ 714 /* create an archive */
719 if (tar_create == TRUE) { 715 if (tar_create == TRUE) {
@@ -740,6 +736,11 @@ int tar_main(int argc, char **argv)
740 } else { 736 } else {
741 tar_handle->src_fd = xopen(tar_filename, O_RDONLY); 737 tar_handle->src_fd = xopen(tar_filename, O_RDONLY);
742 } 738 }
739
740 if ((base_dir) && (chdir(base_dir))) {
741 perror_msg_and_die("Couldnt chdir");
742 }
743
743 while (get_header_ptr(tar_handle) == EXIT_SUCCESS); 744 while (get_header_ptr(tar_handle) == EXIT_SUCCESS);
744 745
745 /* Ckeck that every file that should have been extracted was */ 746 /* Ckeck that every file that should have been extracted was */