镜像自地址
https://git.tukaani.org/xz.git
已同步 2025-09-17 16:08:21 +00:00
Look for full command names instead of substrings
like "un", "cat", and "lz" when determining if xz is run as unxz, xzcat, lzma, unlzma, or lzcat. This is to ensure that if xz is renamed (e.g. via --program-transform-name), it doesn't so easily work in wrong mode.
这个提交包含在:
父节点
6f62fa88f4
当前提交
eed9953732
@ -465,19 +465,23 @@ args_parse(args_info *args, int argc, char **argv)
|
||||
// NOTE: It's possible that name[0] is now '\0' if argv[0]
|
||||
// is weird, but it doesn't matter here.
|
||||
|
||||
// If the command name contains "lz",
|
||||
// it implies --format=lzma.
|
||||
if (strstr(name, "lz") != NULL)
|
||||
opt_format = FORMAT_LZMA;
|
||||
|
||||
// Operation mode
|
||||
if (strstr(name, "cat") != NULL) {
|
||||
// Imply --decompress --stdout
|
||||
// Look for full command names instead of substrings like
|
||||
// "un", "cat", and "lz" to reduce possibility of false
|
||||
// positives when the programs have been renamed.
|
||||
if (strstr(name, "xzcat") != NULL) {
|
||||
opt_mode = MODE_DECOMPRESS;
|
||||
opt_stdout = true;
|
||||
} else if (strstr(name, "un") != NULL) {
|
||||
// Imply --decompress
|
||||
} else if (strstr(name, "unxz") != NULL) {
|
||||
opt_mode = MODE_DECOMPRESS;
|
||||
} else if (strstr(name, "lzcat") != NULL) {
|
||||
opt_format = FORMAT_LZMA;
|
||||
opt_mode = MODE_DECOMPRESS;
|
||||
opt_stdout = true;
|
||||
} else if (strstr(name, "unlzma") != NULL) {
|
||||
opt_format = FORMAT_LZMA;
|
||||
opt_mode = MODE_DECOMPRESS;
|
||||
} else if (strstr(name, "lzma") != NULL) {
|
||||
opt_format = FORMAT_LZMA;
|
||||
}
|
||||
}
|
||||
|
||||
|
正在加载...
x
在新工单中引用
屏蔽一个用户