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

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

[石山智祥,@IT]

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

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

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

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

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

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

Copyright© 2016 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

高精細なRetinaが魅力の「MacBook Pro」、プレゼント!
Loading

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

注目のテーマ

@IT Special

- PR -

コンパクトなシステムで価格を最適化したCisco UCS Miniの実力を検証

Cisco UCS Miniが中堅中小企業に選ばれた理由

低コストでハイスペック、省スペース! @IT編集部による検証結果は?

新省スペースサーバーのスゴさを@IT編集部が検証

マイナンバー対策は、高性能で安全なITインフラを手に入れるチャンス!

マイナンバー対応サーバーの選択:5つのポイント

RSSについて

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

メールマガジン登録

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