2007年05月16日 05時00分 UPDATE
特集/連載

Ask The Expert【Q&A】Webアプリのバッファオーバーフローとメモリリークの原因は?

質問:Webアプリケーションのメモリリークとバッファオーバーフローについて説明してください。また、具体的な例でこれらのテスト方法を教えてください。

[Michael Cobb,TechTarget]

 これらはWebアプリケーションにとって厄介な問題だ。「Code Red」ワームのようなバッファオーバーフロー攻撃は、重大なデータセキュリティ問題やシステム侵入を引き起こした。

メモリリーク

 まず、メモリリークから見ていくことにしよう。というのも、これはバッファオーバーフローの理解の一助になるからだ。メモリリークは、プログラマーがある種の変数にメモリ領域を動的に割り当て、プログラムの終了後にその領域を解放しない場合に起きる。その結果、システムが使用できる空きメモリが少なくなる。こういったメモリ損失を引き起こすプログラムや関数を繰り返し実行すると、最終的にシステムがクラッシュしたり、サービス不能になったりする。メモリ損失を引き起こす単純なコードの例を以下に示す。

int main(int argc, char **argv)

{

char * memoryA = new char[10];

memoryA [0] = 'A';

printf("%cn", memoryA [0]);

}


 このプログラムは、10文字の配列を格納するためにmemoryAという変数にメモリを割り当てているが、メモリを明示的に解放していない。

この記事が気に入ったらTechTargetジャパンに「いいね!」しよう

この記事を読んだ人にお薦めのホワイトペーパー

この記事を読んだ人にお薦めの関連記事

Loading

注目テーマ

ITmedia マーケティング新着記事

news010.jpg

海の家でトライアル、O2Oアプリ×IoTで店舗のスマホ施策はどう変わる?
江ノ島にある海の家でO2OアプリとIoT販促ツールを組み合わせた実証実験が行われている。...

news023.jpg

LINEと博報堂DYデジタル、「LINE」上での広告効果測定の精緻化を図る共同プロジェクトを開始
LINEは、同社の広告サービスにおいて、効果測定の精緻化を図るプロジェクトを博報堂DYと...

news056.jpg

SSP「fluct」、Bulbitの全自動マーケティングプラットフォーム「UNICORN」と連携開始
fluctは、SSP「fluct」がBulbitのモバイルアプリ向け全自動マーケティングプラットフォー...