"密钥链服务API的滥用"分析发现了哪些错误?

Pet*_*sey 3 xcode keychain clang clang-static-analyzer

Xcode 4.6有一个标记为"滥用Keychain Services API"的构建设置,又名CLANG_ANALYZER_SECURITY_KEYCHAIN_API.快速帮助无益:

检查Keychain Services API的滥用情况.

那么,Clang Static Analyzer在启用时会出现什么样的"误用"?

bda*_*ash 6

它旨在确保调用者以正确的方式释放由Keychain Services API中的函数分配的内存.例如,SecKeychainFindGenericPassword通过输出参数返回密码数据.调用者需要通过SecKeychainItemFreeContent而不是替代API 来解除分配这些数据free.未能使用正确的API会将敏感数据(例如密码)留在内存中.

如果您对更多详细信息感兴趣,可以在LLVM SVN存储库中查看此检查器的实现.