CWARN.PASSBYVALUE.ARG

値によって渡された関数の引数が大きすぎます

CWARN.PASSBYVALUE.ARG チェッカーは、値によって渡された関数の引数が大きすぎるインスタンスを検出します。

脆弱性とリスク

値によって渡すことは必ずしもエラーではありませんが、コピーされるデータ量のためパフォーマンスが低下する可能性があります。

脆弱コード例

コピー
  struct strcture{
    int x[20];
    char y[100];
    int z[20];
  };
  
  void foo(strcture arg) 
  {}

Klocwork は、引数 arg が大きすぎる 7 行目にフラグを立てます。

関連チェッカー