エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Mitzyuki's Blog :: C 中級者が意外と陥りやすいワナ
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Mitzyuki's Blog :: C 中級者が意外と陥りやすいワナ
C 中級者が意外と陥りやすいワナ ある程度プログラミングにも慣れてきて 言語仕様もそこそこ理解した中... C 中級者が意外と陥りやすいワナ ある程度プログラミングにも慣れてきて 言語仕様もそこそこ理解した中級者にとって 意外と陥りやすくセキュリティホールの温床になりがちなワナ。 勿論オンラインマニュアルにも仕様として明記してあるのだが、 直感とは反する仕様のなので特に中級者にこれらのミスが多い気がする。 strncpy(3) は ``\0'' 終端してくれない場合がある strcpy(3) はバッファオーバーフローの危険性があるから strncpy(3) を利用する様によく言われるが、 ここにワナが潜んでいる。 strncpy(dst, src, len); とした時に 文字列 src の長さが len バイト未満の場合は dst は ``\0'' で終端される。 終端どころか dst の残り領域は何故か 全て ``\0'' が詰められるという 無駄とも思われる謎仕様。 ところが文字列 src

