FUNCRET.IMPLICIT
隐式返回 int 的非 void 函数没有返回值
FUNCRET.IMPLICIT 检查器在没有 return 语句的隐式 int 函数中查找路径。
漏洞与风险
没有显式返回类型的函数应返回整数值。如果在没有 return 语句的情况下尝试读取返回代码,则不能进行初始化。
漏洞代码示例
复制
foo(char ** param){
char * x = malloc(1);
free(x);
bar(&x);
}
Klocwork 标记了第 5 行,指出隐式 int 函数 foo 没有 return 语句。