summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2021-02-04 16:51:38 +0200
committerSergey Poznyakoff <gray@gnu.org>2021-02-04 16:51:38 +0200
commitee2ec5ff190fb91841fe7989c1c0b57f0a1eadb2 (patch)
tree6edfae8fc5921bb179b11d2dc58808ece828076c /src
parentd9d4435692150fa8ff68e1b1a473d187cc3fd777 (diff)
downloadtar-ee2ec5ff190fb91841fe7989c1c0b57f0a1eadb2.tar.gz
Fix savannah bug #60002
Bug was introduced by commit 34d15af1. * src/extract.c (prepare_to_extract): When extracting over pipe, process only regular files. * tests/extrac24.at: New test case. * tests/Makefile.am: Add new test case. * tests/testsuite.at: Likewise.
Diffstat (limited to 'src')
-rw-r--r--src/extract.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/extract.c b/src/extract.c
index d6d98cb9..4429a90b 100644
--- a/src/extract.c
+++ b/src/extract.c
@@ -1708,7 +1708,12 @@ prepare_to_extract (char const *file_name, int typeflag, tar_extractor_t *fun)
extractor = extract_file;
}
- if (!EXTRACT_OVER_PIPE)
+ if (EXTRACT_OVER_PIPE)
+ {
+ if (extractor != extract_file)
+ return false;
+ }
+ else
{
switch (old_files_option)
{