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' 関数にはフラグは立てられません。