小编Cha*_*oma的帖子

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

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

[charles@wirepile some_dir]$ mv ~down*** stack smashing detected ***: <unknown> terminated
Run Code Online (Sandbox Code Playgroud)

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

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

[charles@wirepile some_dir]$ ls ~/
.this_dir/                .that_file                 another_file
Run Code Online (Sandbox Code Playgroud)

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

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

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

bash gcc stack

5
推荐指数
1
解决办法
263
查看次数

标签 统计

bash ×1

gcc ×1

stack ×1