MLK.MIGHT
メモリ リークの可能性があります
プログラムは以前に割り当てられたメモリを解放しませんでした。動的メモリへのリファレンスは、一部のパスで、この時点で失われます。
脆弱性とリスク
メモリリークは、アプリケーションで余分なメモリを消費させます。これによって他のアプリケーションが使用できるメモリ量が減り、結果的に、オペレーティングシステムにページングを開始させ、システム速度を低下させます。重大な場合、アプリケーションがメモリ制限に達して、クラッシュする可能性があります。
例 1
コピー
void foobar(int i)
{
char* p = new char[10];
if(i) {
p = 0;
}
delete[] p;
}
Klocwork は 5 行目についてメモリリークレポートを生成し、3 行目で関数 'new[]' により割り当てられ、'p' に保存されている動的メモリが、5 行目で失われることがあることを示します。