アカウント名:
パスワード:
-- cooper
レビューでの意見の質とプロジェクトの重大性とは、あまり関係ないでしょう
家庭用ゲーム機用のネット対戦しないタイプのゲームソフト に要求される安全性の質やそれに関するレビューでの意見の質を、 そのままインターネット上のサーバーソフトに持ってこられても困る。 その逆もまた困る。 それがほとんど関係ないとか、結局
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall
mod_alias.c の場合 (スコア:3, 参考になる)
# そのまま引用しようとしたら、投稿フィルタに引
-- cooper
Re:mod_alias.c の場合 (スコア:1, 興味深い)
えーーと。まったく別問題だったりするのですが Apache ネタ
という事でここに書かせてもらいます。
ab(Apache Bench)にも同様なバグがずいぶん前から付いています。
具体的には URL を格納するバッファが 1024Byte 固定になっているので
長いURLを ab に処理させようとすると ab が
Re:mod_alias.c の場合 (スコア:1, 参考になる)
> strcpy で 1024Byte の配列にコピーしているなぁ...
grepすればまだまだアヤシゲなstrcpyを目にすることができるのですが
それに関しては次回のお楽しみかな?
char buffer[300];
if (DosSearchPath(SEARCH_ENVIRONMENT, "PATH",
interpreter+2,buffer, sizeof(buffer)) == 0) {
strcpy(interpreter+2, buffer);
環境変数から得られた文字列を300 byteのauto変数にstrcpyしてみるテストとか。
Apacheは全体的に
char buffer[300];
のようなマジックナンバー
Re:mod_alias.c の場合 (スコア:2, 参考になる)
> すがそれに関しては次回のお楽しみかな?
この文が続くコード中のstrcpy()が怪しいという意味なら、それは違うんじゃないか、と。DosSearchPath()で事前の縛りを入れてるでしょう。
> のようなマジックナンバーによる確保が多いです。
> strcpyやsprintfといった関数の使用が多くてその前後が無頓着です。
一概に無頓着とは言えないと思いますよ。釈迦に説法とは思いますけど、一応。Cでデータの移し替えをやる場合、元データと同じサイズの領域を確保する方法と、適当な大きさの領域を確保しておいて事前にバッファ溢れをチェックを行う方法とがありますね。
元コメント(#423858)にあったコードは後者の方法。レビューの際には「妥当」とされるコーディングです。もしもこれに「不適当」と言ったら、「Cを勉強して来い!」と言われかねないです。
sprintf()は、無頓着は良くないですね。明らかにOKな場合(intを文字列化したテキストを得る、とか)を除いてやはり事前チェックは必要でしょう。それは結構面倒臭いので、自前ライブラリに動的確保を行いつつsprintfする関数を入れて置いたりしますけど。
Re:mod_alias.c の場合 (スコア:0)
> レビューの際には「妥当」とされるコーディングです。
> もしもこれに「不適当」と言ったら、「Cを勉強して来い!」
> と言われかねないです。
apacheのようなソフトウェアは以下の特徴があります
・世界中の大勢の人が利用する(apacheを設置する)
・そのユーザー(apacheを設置する人)の多くはソフトウェアに対して強い安全性を求める
・二次的なユーザー(apacheにアクセスする人)の中には
攻撃の意思と十分な技術を持つ者が多く存在している。
なおかつ彼らは攻撃
Re:mod_alias.c の場合 (スコア:2, 興味深い)
#423858のコードは、クリティカルな用途のソフトでも「妥当」とされると思いますよ。問題はそこでしょう?レビューがどうのは直接関係ありません。
なら、「不適当」である理由を述べたらどうでしょう。どんなレベルのレビューにしても、説明もせずに「不適当」と言い放つのは、まともなエンジニア、マネージャのする事ではありませんから(実際には多いですけどね)。
Re:mod_alias.c の場合 (スコア:0)
それとも、レビュワーはプログラムの用途なぞ考慮する必要がないとでも?
#それすらスキルの内ということであれば、それはそれでレビューの意義をいくつか捨
Re:mod_alias.c の場合 (スコア:0)
誰が「不適当」だと言ったのですか?
理由だけ存在されても怖い
Re:mod_alias.c の場合 (スコア:0)
官僚のコメントのように解釈に悩む表現ですね。
これは結局のところ「関係がある」という意味になる?
> それよりも、レビューをどれだけ真剣にやるか、レビューの参加者にどれだけの
スキルがあるか、の方が。それを経由すれば質と重大性に全く関係ないとは言いませんが。
これもいろんな解釈が可能。
> #423858のコードは、クリティカルな用途のソフトでも「妥当」とされると思います
> よ。問題はそこでしょう?レ
Re:mod_alias.c の場合 (スコア:0)
家庭用ゲーム機用のネット対戦しないタイプのゲームソフト に要求される安全性の質やそれに関するレビューでの意見の質を、 そのままインターネット上のサーバーソフトに持ってこられても困る。 その逆もまた困る。
それがほとんど関係ないとか、結局
Re:mod_alias.c の場合 (スコア:0)
で、どうしてクリティカルな用途でも「妥当」なんですか?
人に説明を要求して、それに色々文句を付ける。それで「ボクちゃん、お利口!」とか思ってるんだろう。字面に文句を付けてくのは簡単だし頭もいらないんだがなあ。
Re:mod_alias.c の場合 (スコア:0)
> ・そのユーザー(apacheを設置する人)の多くはソフトウェアに対して強い安全性を求める
> ・二次的なユーザー(apacheにアクセスする人)の中には
> 攻撃の意思と十分な技術を持つ者が多く存在している。
> なおかつ彼らは攻撃に特化したクラ