为什么 bash 的 tab 补全会触发堆栈保护器?

为什么 bash 的 tab 补全会触发堆栈保护器?

我在 Manjaro 上使用bash5.0.16(和2.10)。bash-completion今天,我在移动一些文件时心不在焉地按了 Tab 键,并收到了一条意想不到的消息:

[charles@wirepile some_dir]$ mv ~down*** stack smashing detected ***: <unknown> terminated

我必须^C重新获得对外壳的控制。

看来,每当在波浪号字符上调用制表符补全(无论后面有或没有其他字符)时,我的(最新的 Manjaro)构建的 bash 都会触发堆栈保护器。下列工作:

[charles@wirepile some_dir]$ ls ~/
.this_dir/                .that_file                 another_file

我的 中不应该有任何不寻常的行.bashrc,除非 Manjaro 默认自定义它。

我想这是某种缓冲区溢出,应该被视为一个错误——这是故意的吗?我应该联系开发人员还是包维护人员?

我也很好奇——有人能重现这个问题吗?

答案1

这是故意的吗?我应该联系开发人员还是包维护人员?

是的,这是一个错误。它已被许多其他人转载,并被报告为错误今年(2020-01-06)致 Bash 维护者。

截至我撰写本文时(2020-07-23),尚未发布任何后续内容,因此我们还不知道维护者正在做什么。

相关内容