标签: flawfinder

read() - 如果在包含递归循环的循环中使用,则检查缓冲区边界

我有这个代码并用 Flawinder 运行它,我在 read() 函数上得到这个输出:

如果在包含递归循环的循环中使用,请检查缓冲区边界

任何人都可以看到问题吗?

#include <stdlib.h>
void func(int fd)
{

char *buf;
size_t len;
read(fd, &len, sizeof(len));

if (len > 1024)
return;
buf = malloc(len+1); 
read(fd, buf, len); 
buf[len] = '\0';
}
Run Code Online (Sandbox Code Playgroud)

c io buffer-overflow flawfinder

5
推荐指数
1
解决办法
1280
查看次数

标签 统计

buffer-overflow ×1

c ×1

flawfinder ×1

io ×1