是否有任何strcpy_s和/或TR24731-1的免费实现?

Mar*_*ark 10 c security string cross-platform tr24731

我有一个混合了C和C++的旧项目.它大量采用C串并strcpy,strcat,strncpy,strncat等我发现了一些缓冲区溢出,我想使用更安全功能,如strcpy_s.MSVC包含这些功能,但我需要能够在各种平台上运行的东西 - 至少是linux,osx和windows.

我知道strlcpy,但正如很多人注意到的那样(例子),这确实不是一种改进.


所以:是否有任何自由的实现strcpy_s,strcat_s等等,或者整个的TR24731-1

我需要的东西是public domain或者BSD,但是如果你知道其他许可证下的实现,请继续列出它们 - 我相信别人会受益.

Ósc*_*pez 13

尝试使用Safe C库.它在MIT许可下,根据此列表实现您正在寻找的功能:

Safe C Library根据ISO/IEC TR24731提供绑定的检查内存和字符串函数.这些函数是现有标准C库的替代函数,可以促进更安全,更安全的编程


P.P*_*.P. 5

你可以用memcpymemset等,这是便携,比字符串函数更安全。