説明
strcpy と wcscpy は、コピー元の文字列が出力先バッファーに収まる長さかどうかを確認しません。
想定される影響
- バッファーオーバーフロー、クラッシュ、コード実行
対処方法
出力先の容量に合わせてコピーする長さを制限するか、安全な文字列型を使ってください。
例
変更前
c
char dst[32];
strcpy(dst, user);
変更後
c
char dst[32];
snprintf(dst, sizeof(dst), "%s", user);
説明:
- 変更前: コピー元の長さが出力先のサイズを超えるか確認していません。
- 変更後: 出力先のサイズに合わせてコピーを制限します。