← Commit list

f3f9062ec

Eric Andersen
Eric Andersen
2001-12-18
FAILED Duration: 413s

Subject

Things like 'tar -c /tmp/*' and 'tar -cO /tmp/*' where the output filename was not explicitly specified were segfaulting. -Erik

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

archival/tar.c+5 -1
@@ -459,7 +459,7 @@ static int writeTarFile(const char* tarName, int verboseFlag, char **argv,
error_msg_and_die("Cowardly refusing to create an empty archive");
/* Open the tar file for writing. */
- if (!strcmp(tarName, "-"))
+ if (tarName == NULL || !strcmp(tarName, "-"))
tbInfo.tarFd = fileno(stdout);
else
tbInfo.tarFd = open (tarName, O_WRONLY | O_CREAT | O_TRUNC, 0644);
@@ -694,6 +694,10 @@ int tar_main(int argc, char **argv)
optind++;
}
+ if (src_filename == NULL) {
+ extract_function |= extract_to_stdout;
+ }
+
if (extract_function & (extract_list | extract_all_to_fs)) {
if (dst_prefix == NULL) {
dst_prefix = xstrdup("./");