アカウント名:
パスワード:
Code-auditing by AT コードを監査するに当たって、何かアドバイスをいただけませんか。今までバグを見つけてきた経験から有用だったティップスや方法に関して教えていただけるとありがたいです。仕上がったばかりのコードの場合は、まずどこを探りますか?。成熟したコードの場合は?。
Theo: 一番のティップスは、今よりももっと良いプログラマーになる、ってことかな。特に、対象のプログラムがどんな関数を使っているのか調べること、そしてその関数の決まりごとをきっちりと守って使っているか確かめることが重要だよ。これを読む人の中の果たして何
strncat()とstrncpy()のくだりも、manは読みましたが、
strcat/strcpy はバッファオーバーフローの元凶だということで strncat/strncpy に置き換えるのだが,それの使い方がなってないと言うことでしょうね. strncat/strncpy は,第3引数に「コピーする文字列のバイト数」を渡すけれど,これには終端のヌル文字を含まないので,うっかりそれを忘れてバッファの残りサイズをそのまま渡すと,
ということになります.はっきりいってわかりにくいし,使いにくいので,その代わりに strlcat/strlcpy があるのですが.
numaさん、こんにちは。フォロー下さいましてどうもありがとうございます。うーん、じぇんじぇん違うですね。
仕事が退けたらnumaさんにいただいたのをもとにググって、該当部分を書き直してみます。一回で済まずに、お手間をとらせることになってごめんなさい > yhさん。
私などより、よほどましに訳せて、ここらの文脈に明るい方がいらっしゃると思いますので助け舟お願いします > お読みのみなさま。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
最初のバージョンは常に打ち捨てられる。
飛び入りで参加します (スコア:1)
Code-auditing by AT
コードを監査するに当たって、何かアドバイスをいただけませんか。今までバグを見つけてきた経験から有用だったティップスや方法に関して教えていただけるとありがたいです。仕上がったばかりのコードの場合は、まずどこを探りますか?。成熟したコードの場合は?。
Theo:
一番のティップスは、今よりももっと良いプログラマーになる、ってことかな。特に、対象のプログラムがどんな関数を使っているのか調べること、そしてその関数の決まりごとをきっちりと守って使っているか確かめることが重要だよ。これを読む人の中の果たして何
Re:飛び入りで参加します (スコア:1)
strcat/strcpy はバッファオーバーフローの元凶だということで strncat/strncpy に置き換えるのだが,それの使い方がなってないと言うことでしょうね. strncat/strncpy は,第3引数に「コピーする文字列のバイト数」を渡すけれど,これには終端のヌル文字を含まないので,うっかりそれを忘れてバッファの残りサイズをそのまま渡すと,
ということになります.はっきりいってわかりにくいし,使いにくいので,その代わりに strlcat/strlcpy があるのですが.
フォローありがとうございます (スコア:1)
numaさん、こんにちは。フォロー下さいましてどうもありがとうございます。うーん、じぇんじぇん違うですね。
仕事が退けたらnumaさんにいただいたのをもとにググって、該当部分を書き直してみます。一回で済まずに、お手間をとらせることになってごめんなさい > yhさん。
私などより、よほどましに訳せて、ここらの文脈に明るい方がいらっしゃると思いますので助け舟お願いします > お読みのみなさま。