在Mac上,什么是最好的一站式“安全”C库解决方案? 我在“安全”/“不安全”上使用引号,因为对于某些标准库函数或其被认为改进的替代品的益处存在很多争议。
许多传统的标准C库函数(例如vfprintf
)由于可能导致缓冲区溢出或其他安全问题而被认为是不安全的。
在Windows上,Microsoft C/C++编译器提供“_s”函数(例如vfprintf_s
)作为标准库调用的更安全的替代方法。 这些函数不是即插即用的替代品,因为它们具有提供额外安全信息所需的不同签名(例如缓冲区长度)。 它们还提供其他功能,如无效格式字符串检测,不同的文件安全性等。 据我所知,这个实现在Mac上不可用。
苹果(或第三方)是否提供类似于OSX上GCC的东西?
特别是,我正在寻找至少以下函数的“安全”实现:fopen vfprintf vsprintf sprintf strncpy strcpy strcat