このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
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 で導入