連載
» 2008年03月21日 10時00分 UPDATE

5分で絶対に分かる:5分で絶対に分かるバッファオーバーフロー (3/6)

[石山智祥,@IT]

なんでバッファがオーバーフローするの?

 それでは、メモリ上に確保したバッファ領域のオーバーフローについて見ていきましょう。

 メモリは無限に存在するわけではないため、メモリ上に確保されるバッファ領域の大きさにも上限があります。バッファ領域の上限はプログラムが規定していますが、プログラムを実行するCPUはバッファ領域の上限を知りません。CPUはプログラムに従って命令を実行するだけです。

 情報をバッファ領域に格納する際、格納する情報の大きさがバッファ領域の上限より小さい場合は問題ありませんが、バッファ領域の上限を超えてしまう場合、CPUはバッファ領域を超えて情報を格納してしまい、バッファがオーバーフローしてしまいます。

 バッファオーバーフローが起こってしまうと、メモリ上の不正な場所に情報を格納することになってしまいます。これにより、プログラムが誤動作することになってしまいます。

 つまり、バッファオーバーフローはプログラムの不具合の原因になるということです。

Copyright© 2015 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

人気のSIMロックフリー端末「Nexus 6」をプレゼント
Loading

ホワイトペーパー(TechTargetジャパン)

注目のテーマ

転職/派遣情報を探す

【転職サーチ】SIer/Web企業/新規事業 スマホ開発で、あなたのキャリアを生かす

「派遣・フリーで働くメリット」とは? 活躍する派遣エンジニアの本音

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。