size 引数がゼロの memset を使用しています
memset ファミリの関数の size 引数がゼロ
説明
この欠陥は、size 引数をゼロに指定して memset ファミリの関数を呼び出した場合に発生します。関数には memset、wmemset、bzero、SecureZeroMemory、RtlSecureZeroMemory などがあります。
リスク
void *memset (void *ptr, int value, size_t num) は、ptr が指すメモリ ブロックの最初の num バイトを指定の value で埋めます。num の値がゼロだと、memset の呼び出しが冗長なものとなります。ptr が指すメモリは次のようになります。
以前に初期化されていない場合は、初期化されないままとなる。
以前に初期化されている場合は、クリアされず、機密データが含まれている可能性がある。
修正方法
ゼロの size 引数が、コード内で先に現れるエラーにより発生しているかどうかを判定します。エラーを修正します。
例
結果情報
| グループ: プログラミング |
| 言語: C | C++ |
| 既定値: オフ |
コマンド ライン構文: MEMSET_INVALID_SIZE |
| 影響度: Medium |
バージョン履歴
R2015b で導入