我有一个旧的项目,混合C和C.它广泛使用C字符串和strcpy,strcat,strncpy,strncat等.我发现了一些缓冲区溢出,我想使用更安全的函数,如strcpy_s. MSVC包括这些功能,但是我至少需要一些可以在各种平台上工作的东西 –
linux,osx和windows.
我知道strlcpy,但很多人注意到(example),这真的不是一个改进.
那么,是否有任何免费的strcpy_s,strcat_s等的实现,还有整个TR24731-1
?
我需要一个公共领域或BSD的东西,但如果你知道其他许可证下的实现,请继续列出 – 我相信别人会受益.
解决方法
尝试使用
Safe C库.这是在
MIT license下,根据这个
list实现您要查找的功能:
The Safe C Library provides bound checking memory and string functions per ISO/IEC TR24731. These functions are alternative functions to the existing standard C library that promote safer,more secure programming