EN JP CN

MLK.MIGHT

MLK.MIGHT

メモリ リークの可能性があります

プログラムは以前に割り当てられたメモリを解放しませんでした。動的メモリへのリファレンスは、一部のパスで、この時点で失われます。

脆弱性とリスク

メモリリークは、アプリケーションで余分なメモリを消費させます。これによって他のアプリケーションが使用できるメモリ量が減り、結果的に、オペレーティングシステムにページングを開始させ、システム速度を低下させます。重大な場合、アプリケーションがメモリ制限に達して、クラッシュする可能性があります。

例 1

1  void foobar(int i)
2  {
3    char* p = new char[10];
4    if(i) {
5      p = 0;
6    }
7    delete[] p;
8  }

Klocwork は 5 行目についてメモリリークレポートを生成し、3 行目で関数 'new[]' により割り当てられ、'p' に保存されている動的メモリが、5 行目で失われることがあることを示します。