首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C语言漏洞

C语言漏洞
EN

Stack Overflow用户
提问于 2021-05-15 16:29:19
回答 1查看 54关注 0票数 0

我正在阅读C中字符串中的漏洞,然后我发现了这段代码。谁能给我一个解释为什么这是易受攻击的?提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-05-15 17:11:05

代码语言:javascript
复制
char buf[MAXSIZE];
if (strlen(str) > MAXSIZE)
    return;
strcpy(buf, str);                

此代码错误地检查最大长度。C字符串在字符串的末尾有一个nul来标记字符串的末尾。strcpy()将复制它。为了适应这个nul,测试必须是:

代码语言:javascript
复制
if (strlen(str) >= MAXSIZE)

下面的代码也不正确。int i10;int j= 0;

代码语言:javascript
复制
while (j < 10000){
    i[j] = 5;                
    ++j;
}

这段代码将在数组i的10个整数之后覆盖内存中的数据。这将产生一种未定义的行为,可能会崩溃,但也可能是更微妙的事情……

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67544733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档