这篇文章介绍了 GCC 中支持的一种新的防御级别。这个新级别可以检测到更多的缓冲区溢出和错误,从而在运行时减少应用程序中的安全问题。GCC 12 中一个名为 `__builtin_dynamic_object_size` 的新内置程序是这个新防御级别的基础,它比之前在 `_FORTIFY_SOURCE=2` 中使用的 `__builtin_object_size` 内置程序更加强大。文章进一步讨论了增强后的安全防御带来的两大收益:增强的缓冲区大小检测和更好的防御覆盖范围,并用具体的代码示例和案例分析进行了说明。