FUNCRET.GEN
非 void 関数によって値が返されません
FUNCRET.GEN チェッカーは、return ステートメントのない非 void 関数でパスを探します。
脆弱性とリスク
このような状況では、戻り値は初期化されないままであるため、設計の意図は達成されません。
脆弱コード例
コピー
#include <stdio.h>
int string_len()
{
//...
}
int main()
{
string_len();
return 0;
}
Klocwork は、'int' 関数が戻り値を持たないことを示す 5 行目にフラグを立てます。その一方で、10 行目の return ステートメントを持つ 'main' 関数にはフラグは立てられません。