タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

securityとc_langに関するcu39のブックマーク (1)

  • [迷信] scanf ではバッファオーバーランを防げない | 株式会社きじねこ

    株式会社きじねこは大阪のソフトウェア開発会社です。組込み系・業務系のプログラム開発から電子回路の設計までおまかせください。 これも根が深い迷信です。この迷信を根拠に、scanf は使うべきではないという人も大勢います。おそらくこういうことでしょう。 char s[10]; scanf("%s", s); 確かにこれでは、ユーザーが10文字以上入力した時点で未定義の動作を引き起こしてしまいます。しかし、これは書式指定が不適切なために発生する脆弱性であって、scanf の問題ではありません。 バッファオーバーランを回避するには次のようにします。 char s[10]; scanf("%9s", s); これで差し当たっての問題はなくなりました。 さて、熱心な迷信の信者は、何とかして scanf の名誉回復を阻むために、巧みに論点のすり替えを行いながら、scanf を貶めようとすることでしょう。

  • 1