memset 等函数填充值相关的参数不应有误
13.6 ID_valueOverflow
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)