Jan*_*hou 5 c gcc bounds-checker
有没有办法检查VLA中的缓冲区溢出?我使用-fstack-protector-all -Wstack-protector但得到以下警告:
警告:不保护局部变量:可变长度缓冲区
有没有实现这个目标的图书馆?(-lefence用于堆内存)
我目前正在使用Valgrind和gdb.
也许使用 alloca() 会有所帮助。这很烦人,因为c99应该让你不必使用它,但GCC手册页似乎说如果你使用alloca(),堆栈保护代码将被打开。
当然,真正的解决方案是编写完美、无错误的代码,并且永远不会尝试破坏堆栈。