• ベストアンサー

バッファオーバーフローについて

プログラムを書き換えてないでmakeし実行すると バッファオーバーフローになったりならなかったりします。 なぜでしょうか? 大きなプログラムは書いていません。 OS:windows7 visual studio2005

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

そのバッファオーバーランの有無はどうやって調べたのでしょうか? 単に、エラーが発生するかどうか、で判断しているのなら ・バッファオーバーランが発生してエラーになる ・バッファオーバーランが発生したけど、たまたまエラーにはならなかった の両方とも起り得るので、「エラーで止まらない」≠「バッファオーバーランが無い」です。 他に、 int i, a[10],b ; b=a[i]; 等と、変数を初期化していないまま参照したとき、iの状態によってバッファオーバーランになったりならなかったりします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.1

ポインタや配列の添え字の扱いを間違っている箇所があるのでしょう。 大きいプログラムかどうかなんてのは関係ありません。 下記のコードだけでバッファオーバーランできますし。 # a[10]にアクセスしてる。 int main() {  int a[10],i;  for(i = 1;i <= 10; i++)  {   a[i] = i;  }  return 0; } 条件によって正しい範囲内だけの使用で済んでいれば、「なったりならなかったり」という事にもなるやも知れません。 具体的なコードも掲示されていないようですから、自力で探して下さい。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • バッファのオーバーフロー

    とあるサイトを実行すると、「バッファオーバーフロー保護によりブロックされました」と出てしまうので、そのサイトが使えません。何か良い解決法はあるのでしょうか?

  • バッファーオーバーフローを防ぐには?

    以前ここで質問し、バッファーオーバーフローがメモリーの関係で怒るものだと分かりました。 ですが、どうすればバッファーオーバーフローを防ぐことが出来るのかさっぱりわかりません。 一応ネットでも調べたのですが、パソコンに弱くさっぱり分かりませんでした。 どう対処すればいいのでしょうか? 教えていただけたらと思います!

  • バッファーオーバーフロー!?

    最近ネットで動画とかを配信しているサイトをよく開くのですが。 毎回バッファーオーバーフローというものが出て途中で「応答なし」になって固まってしまいます。 たとえそのページ以外何も開いていなくても、バッファーオーバーフローになってしまいます。 ウィルスソフトはMcAfeeを使ってます。 なぜなんでしょう? なぜ起こるのか、対策とか、防ぐ方法とかご存知の方、教えてください! エラーの詳細を見ても分からないんです…

  • JSPバッファがオーバーフローしました

    JSPバッファがオーバーフローしました javaで作成したWEBのシステムが動かなくなりました。 担当者がいないのでサッパリわかりませんが、tomcatのログを見たところ、今日に限って以下のエラーが多発しています。 java.io.IOException: エラー: JSPバッファがオーバーフローしました 何が原因でしょうか? javaを触れる人はいないので、プログラムの書き換えはありえません。 年末までは動いていました。 tomcat単体とDBは正常に稼動しています。

    • ベストアンサー
    • Java
  • バッファオーバーフロー攻撃について

    こんにちは 以下は、バッファオーバーフロー攻撃の引用です まず攻撃の第一段階として、ターゲットの環境上で脆弱性を発動させる必要があります。 具体的には、脆弱性を含むプログラム箇所まで処理を進めさせる。 次に、脆弱性の原因となっているバッファを処理するコード部分に、バッファを溢れさせるためのデータを渡す という記事を読んだのですが、どうやって「ターゲットの環境上で」処理するのでしょうか どうやって「プログラム箇所まで処理を進めさせる」のでしょうか どうやって「データを渡す」のでしょうか つまり、どんなコードを書くのでしょうか C 言語でお願いします プログラマーではないのでピンとこないのです よろしくお願いします

  • バッファオーバーフローで疑問があります。

    スタックのバッファオーバーフローで、バッファオーバーフローを起こすことで、変数領域の内容が上書きされ、さらにスタックのその他の領域(サブルーチンの戻りアドレスなど)までも書き換わってしまうとありますが、なぜそんなことが起きるのでしょうか? 私のイメージ的に、スタックの内容が以下のようだとして、 |          | | 変数領域(B) | |------------| | 変数領域(A) | |------------| | SFP       | |------------| | 戻りアドレス | |------------| | 関数の引数  | |------------| バッファオーバーフローが起きたとしても上書きされるのは 変数領域A,Bだと思ったのですが、スタックには最大領域でも決まっていてそれおも超えるデータ量の場合は、領域いっぱいまですべて上書くようにでもなっているのでしょうか? 気になって仕方がありません。 どうかよろしくお願いいたします。

  • バッファオーバーフロー

    バッファオーバーフローとは何でしょうか? 検索フォームに長文の文字を検索すると誤作動が起きてしまうものなのでしょうか? 例えば10文字以内で検索という条件がある時、 「犬も歩けば棒に当たる 対義語」と検索して 文字数がオーバーになって誤作動が発生する物なのでしょうか?

  • バッファオーバーフロー

    動画形式DivxからAviに拡張子を変更したり、その変更した動画を再生しようとすると、マカフィーがバッファオーバーフローを検知するんですが、何故でしょうか? 動画はstage6で落としたものなんですが、そこの他の動画で試してみても同じく検知されました。 普通に再生できるので動画ファイル自体は問題ないはずなんですが。

  • 「バッファー オーバーフローがブロックされました」と出ます

    www.gyao.jpのページで、動画を見ようとすると、いつも「バッファー オーバーフローがブロックされました」と出て、開いている全てのページが応答しなくなります。www.gyao.jpは、そんなに怪しいページではないように思うのですが…。 このような現象を避けて、動画を見れるようにするにはどうしたらいいのでしょうか?

  • バッファオーバーフローについて

    いつもお世話になっております。 最近、WINDOWSでバッファオーバーフローの脆弱性が発見されましたが、 これって、外界と繋がっていない専用線のシステムには影響はないと考えていいんでしょうか? 認識として外界と接続しているWINDOWSのセキュリティホールの一つであって 対策は、バッチファイルを当てることを各HPで読みましたが、24時間動いてる物だと再起動できないので当てられないと判断して、現状としてはFWで不正アクセスを防ぐことしかできないのではと考えていますが、私の認識は間違っているでしょうか? 文章分かりにくくてすいませんがお願いします。

このQ&Aのポイント
  • モデル「TB-X306F」についてAndroid11へのアップデート方法を探しています。
  • OTAでは「システムバージョンは最新です」と表示されており、Lenovo Moto Smart Assistantのダウンロードセンターには何も表示されていないようです。
  • 他にアップデートの手段があれば教えていただきたいです。
回答を見る