バッファローオーバーフロー
言い間違いとか書き間違いだよ
「バッファオーバーフロー」のことだと思うよ
簡単に書くよ
バッファローオーバーフローとは
「バッファオーバーフロー」の言い間違いとか書き間違い。
バッファオーバーフローは
「これくらい入るかな~」と思って確保していた領域よりもたくさん入れちゃって、入りきらなかった状態のこと
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「バッファオーバーフロー」について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
バッファオーバーフローは「確保していた領域よりもたくさん入れちゃって、入りきらなかった状態」です。
もっと端的に言えば、あふれちゃったわけですね。
「データを溜めておく場所(バッファ)があふれた(オーバーフローした)」状態です。
プログラミングでは変数を扱います。
変数は「データを入れておく箱」です。
中にデータ(値)を入れます。
この変数ですが、実際にはメモリ上に場所を確保します。
メモリの上に「ここからここまで、この変数が使うから」と値を入れておくための領域を確保するのです。
よく分からない方は花見の場所取りをイメージしてください。
場所を取るために下に敷いたブルーシートが変数です。
その上に座る上司や先輩、花見の参加者が値です。
花見の参加者が多くなると、ブルーシートに座りきれません。
ブルーシートの外にはみ出してしまうでしょう。
そうすると、隣で花見をしている人たちの迷惑になってしまうかもしれませんね。
コンピュータの世界も同じです。
例えば、3文字まで入る変数をメモリ上に確保したとしましょう。
そこに4文字以上入れると、入りきらない分があふれてしまいます。
もし隣の領域を他の変数が使っていたら、どうでしょう?
他の変数の値を書き換えてしまいますね。
これは本来想定していない事態です。
困ったことになる可能性が高いでしょう。
このような
元々確保していた領域よりも大きい値を入れて、あふれちゃった状態
がバッファオーバーフローです。
また、意図的にバッファオーバーフローを発生させることでプログラムに誤作動を起こさせようとする悪いことを「バッファオーバーフロー攻撃」と言います。
このバッファオーバーフロー攻撃を意図して「バッファオーバーフロー」と表現している場合も あります。
以上を踏まえて
「バッファオーバーフロー」を意図したであろう間違い
が「バッファローオーバーフロー」です。
「バッファロー」では ありません。
「バッファ」です。
もしかしたら、どこかに文字通りの「バッファローオーバーフロー」という用語があるかもしれませんけどね。
基本的には「バッファオーバーフロー」を意図しているはずです。
一言でまとめるよ
まぁ「バッファローオーバーフロー」って単語が出てきたら「『バッファオーバーフロー
(確保していた領域よりもたくさん入れてあふれた状態、あるいは、それを利用した攻撃)』って言いたい(書きたい)んだろうな~」と お考えください。






