tar: fix too eager autodetection, closes 11531

function                                             old     new   delta
is_suffixed_with                                       -      54     +54
tar_main                                            1006    1026     +20
open_transformer                                      92      79     -13
config_file_action                                   478     458     -20
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/2 up/down: 74/-33)             Total: 41 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/archival/tar.c b/archival/tar.c
index 1c71f7f..6950c27 100644
--- a/archival/tar.c
+++ b/archival/tar.c
@@ -1162,8 +1162,16 @@
 			tar_handle->seek = seek_by_read;
 		} else
 		if (ENABLE_FEATURE_TAR_AUTODETECT
+		 && ENABLE_FEATURE_SEAMLESS_LZMA
 		 && flags == O_RDONLY
 		 && !(opt & OPT_ANY_COMPRESS)
+		 && is_suffixed_with(tar_filename, ".lzma")
+		/* We do this only for .lzma files, they have no signature.
+		 * All other compression formats are recognized in
+		 * get_header_tar() when first tar block has invalid format.
+		 * Doing it here for all filenames would falsely trigger
+		 * on e.g. tarball with 1st file named "BZh5".
+		 */
 		) {
 			tar_handle->src_fd = open_zipped(tar_filename, /*fail_if_not_compressed:*/ 0);
 			if (tar_handle->src_fd < 0)