aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn L McGrath <bug1@ihug.co.nz>2003-11-20 09:06:10 +0000
committerGlenn L McGrath <bug1@ihug.co.nz>2003-11-20 09:06:10 +0000
commitba49651de96fb8891b4627f85b068cb91232f1c8 (patch)
tree95ddcef5f2fc0c4e6ade827c9031a827a06ef46f
parent90c9df93f3fa9fb9c6b576c92c19bbe36bdc6e52 (diff)
downloadbusybox-w32-ba49651de96fb8891b4627f85b068cb91232f1c8.tar.gz
busybox-w32-ba49651de96fb8891b4627f85b068cb91232f1c8.tar.bz2
busybox-w32-ba49651de96fb8891b4627f85b068cb91232f1c8.zip
Check there are files to add the archive before removing a specified
tar file.
-rw-r--r--archival/tar.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/archival/tar.c b/archival/tar.c
index 4e763a404..9ef616b92 100644
--- a/archival/tar.c
+++ b/archival/tar.c
@@ -462,11 +462,6 @@ static inline int writeTarFile(const int tar_fd, const int verboseFlag,
462 462
463 tbInfo.hlInfoHead = NULL; 463 tbInfo.hlInfoHead = NULL;
464 464
465 /* Make sure there is at least one file to tar up. */
466 if (include == NULL) {
467 bb_error_msg_and_die("Cowardly refusing to create an empty archive");
468 }
469
470 fchmod(tar_fd, 0644); 465 fchmod(tar_fd, 0644);
471 tbInfo.tarFd = tar_fd; 466 tbInfo.tarFd = tar_fd;
472 tbInfo.verboseFlag = verboseFlag; 467 tbInfo.verboseFlag = verboseFlag;
@@ -748,6 +743,10 @@ int tar_main(int argc, char **argv)
748 743
749#ifdef CONFIG_FEATURE_TAR_CREATE 744#ifdef CONFIG_FEATURE_TAR_CREATE
750 if (ctx_flag == CTX_CREATE) { 745 if (ctx_flag == CTX_CREATE) {
746 /* Make sure there is at least one file to tar up. */
747 if (tar_handle->accept == NULL) {
748 bb_error_msg_and_die("Cowardly refusing to create an empty archive");
749 }
751 tar_stream = stdout; 750 tar_stream = stdout;
752 flags = O_WRONLY | O_CREAT | O_EXCL; 751 flags = O_WRONLY | O_CREAT | O_EXCL;
753 unlink(tar_filename); 752 unlink(tar_filename);