C语言中不安全的函数以及解决方案
来源:互联网 发布:vb怎样弹出对话框 编辑:程序博客网 时间:2024/06/14 02:47
函数 严重性 解决方案
gets 最危险 使用 fgets(buf, size, stdin)。这几乎总是一个大问题!
strcpy 很危险 改为使用 strncpy。
strcat 很危险 改为使用 strncat。
sprintf 很危险 改为使用 snprintf,或者使用精度说明符。
scanf 很危险 使用精度说明符,或自己进行解析。
sscanf 很危险 使用精度说明符,或自己进行解析。
fscanf 很危险 使用精度说明符,或自己进行解析。
vfscanf 很危险 使用精度说明符,或自己进行解析。
vsprintf 很危险 改为使用 vsnprintf,或者使用精度说明符。
vscanf 很危险 使用精度说明符,或自己进行解析。
vsscanf 很危险 使用精度说明符,或自己进行解析。
streadd 很危险 确保分配的目的地参数大小是源参数大小的四倍。
strecpy 很危险 确保分配的目的地参数大小是源参数大小的四倍。
strtrns 危险 手工检查来查看目的地大小是否至少与源字符串相等。
realpath 很危险 (或稍小,取决于实现)分配缓冲区大小为 MAXPATHLEN。同样,手工检查参数以确保输入参数不超过 MAXPATHLEN。
syslog 很危险(或稍小,取决于实现)在将字符串输入传递给该函数之前,将所有字符串输入截成合理的大小。
getopt 很危险(或稍小,取决于实现)在将字符串输入传递给该函数之前,将所有字符串输入截成合理的大小。
getopt_long 很危险(或稍小,取决于实现)在将字符串输入传递给该函数之前,将所有字符串输入截成合理的大小。
getpass 很危险(或稍小,取决于实现)在将字符串输入传递给该函数之前,将所有字符串输入截成合理的大小。
getchar 中等危险 如果在循环中使用该函数,确保检查缓冲区边界。
fgetc 中等危险 如果在循环中使用该函数,确保检查缓冲区边界。
getc 中等危险 如果在循环中使用该函数,确保检查缓冲区边界。
read 中等危险 如果在循环中使用该函数,确保检查缓冲区边界。
bcopy 低危险 确保缓冲区大小与它所说的一样大。
fgets 低危险 确保缓冲区大小与它所说的一样大。
memcpy低危险 确保缓冲区大小与它所说的一样大。
snprintf低危险 确保缓冲区大小与它所说的一样大。
strccpy低危险 确保缓冲区大小与它所说的一样大。
strcadd低危险 确保缓冲区大小与它所说的一样大。
strncpy低危险 确保缓冲区大小与它所说的一样大。
vsnprintf低危险 确保缓冲区大小与它所说的一样大。
gets 最危险 使用 fgets(buf, size, stdin)。这几乎总是一个大问题!
strcpy 很危险 改为使用 strncpy。
strcat 很危险 改为使用 strncat。
sprintf 很危险 改为使用 snprintf,或者使用精度说明符。
scanf 很危险 使用精度说明符,或自己进行解析。
sscanf 很危险 使用精度说明符,或自己进行解析。
fscanf 很危险 使用精度说明符,或自己进行解析。
vfscanf 很危险 使用精度说明符,或自己进行解析。
vsprintf 很危险 改为使用 vsnprintf,或者使用精度说明符。
vscanf 很危险 使用精度说明符,或自己进行解析。
vsscanf 很危险 使用精度说明符,或自己进行解析。
streadd 很危险 确保分配的目的地参数大小是源参数大小的四倍。
strecpy 很危险 确保分配的目的地参数大小是源参数大小的四倍。
strtrns 危险 手工检查来查看目的地大小是否至少与源字符串相等。
realpath 很危险 (或稍小,取决于实现)分配缓冲区大小为 MAXPATHLEN。同样,手工检查参数以确保输入参数不超过 MAXPATHLEN。
syslog 很危险(或稍小,取决于实现)在将字符串输入传递给该函数之前,将所有字符串输入截成合理的大小。
getopt 很危险(或稍小,取决于实现)在将字符串输入传递给该函数之前,将所有字符串输入截成合理的大小。
getopt_long 很危险(或稍小,取决于实现)在将字符串输入传递给该函数之前,将所有字符串输入截成合理的大小。
getpass 很危险(或稍小,取决于实现)在将字符串输入传递给该函数之前,将所有字符串输入截成合理的大小。
getchar 中等危险 如果在循环中使用该函数,确保检查缓冲区边界。
fgetc 中等危险 如果在循环中使用该函数,确保检查缓冲区边界。
getc 中等危险 如果在循环中使用该函数,确保检查缓冲区边界。
read 中等危险 如果在循环中使用该函数,确保检查缓冲区边界。
bcopy 低危险 确保缓冲区大小与它所说的一样大。
fgets 低危险 确保缓冲区大小与它所说的一样大。
memcpy低危险 确保缓冲区大小与它所说的一样大。
snprintf低危险 确保缓冲区大小与它所说的一样大。
strccpy低危险 确保缓冲区大小与它所说的一样大。
strcadd低危险 确保缓冲区大小与它所说的一样大。
strncpy低危险 确保缓冲区大小与它所说的一样大。
vsnprintf低危险 确保缓冲区大小与它所说的一样大。
- C语言中不安全的函数以及解决方案
- C语言中不安全的函数以及解决方案
- C语言中不安全的函数以及解决方案
- C语言中不安全的函数
- C语言中不安全的函数
- C中不安全的函数
- c中不安全的函数
- c中不安全的函数
- c中不安全的函数
- C中不安全的函数
- c中不安全的函数
- C中不安全函数
- 不安全的C函数
- C中不安全的函数以解决办法汇总
- C中不安全的函数以解决办法汇总
- C语言中字符串系列函数的实现以及注意事项
- C语言中数组以及处理字符串的函数
- 关于C语言指针的不安全操作
- Ubuntu默认启动到字符界面
- wpf Canvas 限定范围拖动 鼠标滚轴改变大小
- bash参考手册之三(基本的Shell特性)
- poj-1751-Highways-(最小生成树)
- CF-12D - Ball(排序+MAP)
- C语言中不安全的函数以及解决方案
- ajax能访问struts action中特定的某个方法
- Javascript 模块化编程
- dex2jar 使用
- [Spring3.x源码]Acegi(一)验证器
- GIT初学的学习笔记
- spring mail中附件名乱码问题
- C应用程序增加调试便利的方法,程序运行过程中输出运行的源文件名称 函数名称和当前行号
- VS2008中项目连接字符串问题_C#