プロトタイプのない関数ポインターによる呼び出し
パラメーターの型や数なしで宣言された関数ポインターは予期しない動作を引き起こす
説明
この欠陥は、完全なプロトタイプのない関数が関数ポインターを使用して呼び出された場合に発生します。
関数プロトタイプは、パラメーターの型と数を指定します。
リスク
プロトタイプのない関数に渡される引数は、関数定義のパラメーターの数と型に一致しない可能性があります。その場合、未定義の動作が起こる可能性があります。パラメーターが型ドメインのサブセットに制限されている場合、信頼されていないソース由来の引数によって呼び出された関数の脆弱性がトリガーされる可能性があります。
修正方法
ポインターを介して関数を呼び出す前に、関数プロトタイプを用意します。
例
結果情報
グループ: プログラミング |
言語: C |
既定値: 手書きコードはオン、生成コードはオフ |
コマンド ライン構文: UNPROTOTYPED_FUNC_CALL
|
影響度: Medium |
バージョン履歴
R2017b で導入