アカウント名:
パスワード:
C言語は標準設定で、ポインタ・配列の境界チェックをしたり、セキュアな代替関数がある命令(snprintfとか)は、非セキュアなオリジナル命令を無効にするとかすればいいとおもう
もちろん、コンパイルオプションや、コード内で明示的に指定することでそれらを無効にして、高速なコードを書きたい人は書けるようにして
OSやlibc等速度が必要なコードはチェックを無効にしてビルド、一般アプリはチェックを有効にしてビルドとか
snprintf は sprintf よりはセキュアだけど、サイズを間違えたらバッファオーバランする。あと、strcpy とか strcmp とかの非セキュア関数の代替関数はどうしよう。
逆だったらCの評価も変わったんだろうな。標準関数はセキュアだけど、非セキュアなことをやりたい時に代替関数を使えば低レベルなところも触れるみたいな。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
日々是ハック也 -- あるハードコアバイナリアン
標準設定の問題? (スコア:0)
C言語は標準設定で、ポインタ・配列の境界チェックをしたり、
セキュアな代替関数がある命令(snprintfとか)は、非セキュアなオリジナル命令を無効にするとか
すればいいとおもう
もちろん、コンパイルオプションや、コード内で明示的に指定することでそれらを無効にして、
高速なコードを書きたい人は書けるようにして
OSやlibc等速度が必要なコードはチェックを無効にしてビルド、
一般アプリはチェックを有効にしてビルドとか
Re: (スコア:0)
snprintf は sprintf よりはセキュアだけど、サイズを間違えたらバッファオーバランする。
あと、strcpy とか strcmp とかの非セキュア関数の代替関数はどうしよう。
Re:標準設定の問題? (スコア:0)
逆だったらCの評価も変わったんだろうな。
標準関数はセキュアだけど、非セキュアなことをやりたい時に代替関数を使えば低レベルなところも触れるみたいな。