バッファオーバーラン
入れ過ぎちゃったよ
あふれちゃったよ
簡単に書くよ
バッファオーバーラン(英:buffer overrun)とは
「バッファオーバーフロー」のこと。
用語の中身としては
「これくらい入るかな~」と思って確保していた領域よりもたくさん入れちゃって、入りきらなかった状態のこと
です。
詳しく書くよ
バッファオーバーフローは「確保していた領域よりもたくさん入れて、あふれた状態」ね。
それを踏まえて
バッファオーバーフローの別の呼び名
が「バッファオーバーラン」です。
それでは細かい説明を書いていきますが、ここから先の内容は「バッファオーバーフロー」の説明と同じです。
すでに「バッファオーバーフロー」の説明を ご覧になった人は、ここから先を読んでも意味はないと思います。
プログラミングでは変数を扱います。
変数は「データを入れておく箱」です。
中にデータ(値)を入れます。
この変数ですが、実際にはメモリ上に場所を確保します。
メモリの上に「ここからここまで、この変数が使うから」と値を入れておくための領域を確保するのです。
よく分からない方は花見の場所取りをイメージしてください。
場所を取るために下に敷いたブルーシートが変数です。
その上に座る上司や先輩、花見の参加者が値です。
花見の参加者が多くなると、ブルーシートに座りきれません。
ブルーシートの外にはみ出してしまうでしょう。
そうすると、隣で花見をしている人たちの迷惑になってしまうかもしれませんね。
コンピュータの世界も同じです。
例えば、3文字まで入る変数をメモリ上に確保したとしましょう。
そこに4文字以上入れると、入りきらない分があふれてしまいます。
もし隣の領域を他の変数が使っていたら、どうでしょう?
他の変数の値を書き換えてしまいますね。
これは本来想定していない事態です。
困ったことになる可能性が高いでしょう。
このような
元々確保していた領域よりも大きい値を入れて、あふれちゃった状態
がバッファオーバーランです。
一言でまとめるよ
まぁ「バッファオーバーラン」って単語が出てきたら「確保していた領域よりもたくさん入れて、あふれたんだな~」と お考えください。
おまけ
■訳してみるよ
「buffer(バッファ)」の意味は「緩衝器」とか「緩衝物」とか「緩衝装置」とか「緩衝材」とかです。
「overrun(オーバーラン)」の意味は「超過する」とか「あふれる」とか「氾濫する」とかです。
何となく くっつけると
緩衝物からあふれる
となります。






