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 语句。