我正在阅读有关在以下位置使用安全字符串的信息
https://www.securecoding.cert.org/confluence/pages/viewpage.action?pageId=5111861
如下所述。
SafeStr 字符串,如果使用得当,可以消除其中的许多错误,并提供对遗留代码的向后兼容性。
我的问题是作者所说的“同时提供对遗留代码的向后兼容性”是什么意思。 ?要求举例说明。
感谢您的时间和帮助
最佳答案
这意味着来自标准 libc(和其他)的函数,它需要普通的空终止字符数组,甚至可以在那些 SafeStr
上工作。这可能是通过将控制结构置于字符串开头的负偏移量(或其他一些技巧)来实现的。
示例:strcmp()
printf()
等可以直接用于 SafeStr 返回的字符串。
相比之下,还有其他 C 语言的字符串库,它们非常“智能”和动态,但是这些字符串不能不转换为“老派”函数就可以发送。
关于c - 在 C 中使用 SafeStr,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15904611/