JPCERT コーディネーションセンター

安全・安心なIT社会のための、国内・国際連携を支援する

お問い合わせ サイトマップ English

Home > ラーニング > セキュアコーディング > C セキュアコーディングスタンダード > 02. 宣言と初期化 (DCL)

  1. HTTPS

02. 宣言と初期化 (DCL)

最終更新: 2010-07-26

DCL05-C. typedef を使いコードの可読性を改善する

型定義 (typedef) を使いコードの可読性を改善すること。

違反コード

以下の signal() 関数宣言は読んで理解するのが困難だ。

void (*signal(int, void (*)(int)))(int);
適合コード

以下の解決法では型定義を使うことで違反コード例と同じ型を指定している。

typedef void (*SighandlerType)(int signum);
extern SighandlerType signal(
  int signum,
  SighandlerType handler
);
リスク評価

コードの可読性は脆弱性を発見し排除する上で重要である。

レコメンデーション 深刻度 可能性 修正コスト 優先度 レベル
DCL05-C P2 L3
自動検出

LDRA tool suite V 7.6.0 はこのレコメンデーションの違反を検出できる。

Compass/ROSE はこのレコメンデーションの違反を検出できる。

参考情報
  • [ISO/IEC 9899:1999] Section 6.7.7, "Type definitions"
  • [ISO/IEC PDTR 24772] "BRS Leveraging human experience"
翻訳元

DCL05-C. Use typedefs to improve code readability

Top へ