☰
  • 首页
  • 规则分类
  • 项目介绍
search
•••

memset 等函数填充值相关的参数不应有误

13.6 ID_valueOverflow
目录 › next › previous

memset、memset_s 等函数的填充值参数会被转为 unsigned char 型,所以填充值不应超出 unsigned char 的取值范围。

示例:

char buf[32];
memset(buf, 1024, 32);  // Non-compliant

例中填充值为 1024,超出了 unsigned char 的范围,在实际代码中也可能是长度参数与填充值参数被写反了。

依据

ISO/IEC 9899:1999 7.21.6.1(2) ISO/IEC 9899:2011 7.24.6.1(2) ISO/IEC 9899:2011 K.3.7.4.1(4)

参考

CWE-130
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.