gpt4 book ai didi

c++ - 当与可能导致缓冲区溢出的函数一起使用时,是否应该比其他变量更仔细地检查外部变量?

转载 作者:行者123 更新时间:2023-11-28 00:53:09 24 4
gpt4 key购买 nike

我只是想知道是否将外部变量视为源缓冲区并将其作为参数传递给 strcpy() 或任何其他可能导致缓冲区溢出的函数是否与传递它一样不安全并且可能导致缓冲区溢出来自 fgets() 函数的参数,其指定限制高于缓冲区的大小。

应特别注意这些外部变量的使用,还是应将它们与任何其他变量区别对待?

最佳答案

extern 仅定义变量的链接,它不会以任何其他方式更改变量。

Whether it is safe?

它与任何其他变量一样安全/不安全,声明为 extern 的变量没有影响。
使用 strcpy 本身是不安全的,可能会导致缓冲区溢出。
在 C++ 中,更好的选择是使用 std::string

关于c++ - 当与可能导致缓冲区溢出的函数一起使用时,是否应该比其他变量更仔细地检查外部变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12956810/

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