FUNCRET.GEN
Non-void function doesn't return value
The FUNCRET.GEN checker finds paths in non-void functions that don't have a return statement.
Vulnerability and risk
This situation leaves the returned value uninitialized, so design intent isn't accomplished.
Vulnerable code example
1 #include <stdio.h> 2 int string_len() 3 { 4 //... 5 } 6 7 int main() 8 { 9 string_len(); 10 return 0; 11 }
Klocwork flags line 5, indicating that the 'int' function has no return. In contrast, the 'main' function with its return statement in line 10 is not flagged.