C编程时可能会引起溢出的相关函数

C编程时可能会引起溢出的相关函数

努力为明天

努力为明天

2020-03-26 11:09:24

Gets 最危险 使用 fgets(buf, size, stdin)。对gets函数的使用几乎总会造成问题

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 低危险 确保缓冲区大小与其声明的大小一致

猜您喜欢

精彩推荐