PRECISION.LOSS.CALL
在函数调用期间出现精度损失
PRECISION.LOSS 检查器查找在函数调用期间中那些指向较小的数据类型进行的、可能导致数据精度损失的隐式转换的实例。
漏洞与风险
根据具体环境,这种情况可能被利用,例如在导致缓冲区溢出时。
漏洞代码示例
复制
void foo(unsigned char v);
void test(unsigned long data){
foo(data);
}
Klocwork 标记了第 3 行,其中无符号长整型被转换为无符号字符型。