[应用相关] gets()函数问题

[复制链接]
 楼主| OKAKAKO 发表于 2024-8-31 14:32 | 显示全部楼层 |阅读模式

  1. #include<stdio.h>
  2. int main(void)
  3. {
  4.     char buff[10];
  5.     memset(buff,0,sizeof(buff));

  6.     gets(buff);

  7.     printf("\n The buffer entered is [%s]\n",buff);

  8.     return 0;
  9. }


上面代码里的问题在于函数gets()的使用,这个函数
从stdin接收一个字符串而不检查它所复制的缓存的容积,
这可能会导致缓存溢出。这里推荐使用标准函数fgets()代替。
花间一壶酒sd 发表于 2024-8-31 21:56 | 显示全部楼层
gets() 函数的确存在安全隐患,因为它不进行边界检查,可能会导致缓冲区溢出,从而引发安全问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

257

主题

2006

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部