C/C++:printf 常出现的错误或bug

下面是一段TortoiseSVN中源代码(有bug):

解释:

当我们想要打印输出时,或把字符串写入到文件,很多程序员写如下代码:

上面代码是不安全的。回到TortoiseSVN中的代码中,假设文件名为”file%s%i%s.txt”,这时程序不是崩溃就是输出错误的字符串。这只是其中一个问题,事实上,像上面那样的函数调用是可以被攻击者利用的,黑客可以通过它输出内存中的数据。

正确的代码:

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注