gpt4 book ai didi

c - 字符串变量的安全处理

转载 作者:太空狗 更新时间:2023-10-29 15:49:02 28 4
gpt4 key购买 nike

你好,我是 C 的新手,简而言之,我在类里面做了以下作业:

foo (char *var) {
printf(var);
}

有人告诉我这是不好的做法并且不安全,但我的导师没有得到太多详细信息。我假设如果 var 的字符串值可由用户控制,它可能用于执行缓冲区溢出?我将如何正确强化这段代码?我是否必须限制 str 长度或其他什么?

干杯,谢谢!

最佳答案

你应该使用:

printf("%s", var);

相反。按照你的方式,我可以输入 %s 作为我的输入,printf 会在寻找要打印的字符串时读取随机内存。这可能会导致任何数量的意外行为。

关于c - 字符串变量的安全处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14436801/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com