strcpyの危険な使用

strcpyの危険な使用

説明

strcpy と wcscpy は、コピー元の文字列が出力先バッファーに収まる長さかどうかを確認しません。

想定される影響

  • バッファーオーバーフロー、クラッシュ、コード実行

対処方法

出力先の容量に合わせてコピーする長さを制限するか、安全な文字列型を使ってください。

例

変更前

c
char dst[32];
strcpy(dst, user);

変更後

c
char dst[32];
snprintf(dst, sizeof(dst), "%s", user);

説明:

  • 変更前: コピー元の長さが出力先のサイズを超えるか確認していません。
  • 変更後: 出力先のサイズに合わせてコピーを制限します。

参考資料