アカウント名:
パスワード:
char buf[BUFSIZE]; . . .
} Q.何年も前からわかっていながら、なぜ対処しないのですか。 A.このようなコードを書いてある本が存在するからという説と わざと入れているという説があります。 Q.信じられません。自分のプログラムに穴をあけるなんて。 A.一部のプログラマーは、これを指摘すると「仕様です」というので 間違いありません。意図的にやっているのです。 Q.彼らの目的は何なのです
そこら中に char buf[1024] などというコードが散乱していることが多い、というのが現状ではないでしょうか。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
クラックを法規制強化で止められると思ってる奴は頭がおかしい -- あるアレゲ人
質問形式でお送りします (スコア:3, おもしろおかしい)
A.不定長のデーターに対して下のようなコードを書くからです。
void func()
{
}
Q.何年も前からわかっていながら、なぜ対処しないのですか。
A.このようなコードを書いてある本が存在するからという説と
わざと入れているという説があります。
Q.信じられません。自分のプログラムに穴をあけるなんて。
A.一部のプログラマーは、これを指摘すると「仕様です」というので
間違いありません。意図的にやっているのです。
Q.彼らの目的は何なのです
Re:質問形式でお送りします (スコア:3, すばらしい洞察)
このQAは表面しか見ていません。BUFSIZEを定義していることが、バッファーオーバーフローに直結するわけではありません。
問題はBUFSIZEを限界チェックをしていなことです。限界チェックをしないのなら、#defineする必要もないはずです。
BUFSIZEという形式だけを見て、その目的まで覚えなかった、学習者のミスです。
Re:質問形式でお送りします (スコア:1)
(´д`;)
Re:質問形式でお送りします (スコア:0)
え?そんな人にCode書かせていいの?
Re:質問形式でお送りします (スコア:1)
まあでも入門書とかもあまり良いのがないような気がするな。
# バッファ長を考慮しない gets() や sprintf() がある
# というのも問題といえば問題かな?
(´д`;)
Re:質問形式でお送りします (スコア:0)
素直にポインタだけにしておけば自分で管理しなきゃならんって気がつくだろうに、あんな配列なんてBASICだのCOBOLだのから流れてきたやつはみんなしくじるよ。
Re:質問形式でお送りします (スコア:1)
#次はギガ単位でmallocしてNULL検査しない奴が増えそう。。。
wild wild computing
Re:質問形式でお送りします (スコア:0)
Re:質問形式でお送りします (スコア:0)
それはとらえ方が違うんじゃないか?
char buf[1024]
と
#define BUFSIZE 1024
char buf[BUFSIZE]
では大きく違うぞ。
前者は仕様変更があった場合に穴になりやすかろう。
(まさか違いがわからんとか言わないだろうな)