]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Squawk if we read '-C' '' from consecutive lines.
authorColin Percival <cperciva@daemonology.net>
Tue, 16 Aug 2011 05:32:31 +0000 (01:32 -0400)
committerColin Percival <cperciva@daemonology.net>
Tue, 16 Aug 2011 05:32:31 +0000 (01:32 -0400)
Via: Tarsnap

SVN-Revision: 3623

tar/write.c

index ff23e768a50e32e0a760b5b59a89eb0973990a68..012132b29f94d2db4797fdf72e78e1c8895e9c51 100644 (file)
@@ -530,7 +530,13 @@ archive_names_from_file(struct bsdtar *bsdtar, struct archive *a)
        lr = lafe_line_reader(bsdtar->names_from_file, bsdtar->option_null);
        while ((line = lafe_line_reader_next(lr)) != NULL) {
                if (bsdtar->next_line_is_dir) {
-                       set_chdir(bsdtar, line);
+                       if (*line != '\0')
+                               set_chdir(bsdtar, line);
+                       else {
+                               lafe_warnc(0,
+                                   "Meaningless argument for -C: ''");
+                               bsdtar->return_value = 1;
+                       }
                        bsdtar->next_line_is_dir = 0;
                } else if (!bsdtar->option_null && strcmp(line, "-C") == 0)
                        bsdtar->next_line_is_dir = 1;