FORTIFY 是 Android 自 2012 年中以来一直配备的一项重要的安全功能。去年初,在将默认的 C/C 编译器从GCC迁移为Clang后,我们投入大量时间和精力,确保 FORTIFY 在 Clang 中的质量与之前相当。为做到这一点,我们重新设计了某些关键的 FORTIFY 功能的工作方式,具体将在下文介绍。 什么是 FORTIFY? FORTIFY 是 C 标准库的扩展集,用于拦截对 memset、sprintf 和 open 和其他标准函数的错误使用。它有三大功能:
思考下例,它是 FORTIFY 在真实代码中捕获的一个错误: struct Foo {
int val;
struct Foo *next;
};
void initFoo(struct Foo *f) {
memset( |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|