1

前の質問に対する巻き戻しの答えは、私に別の質問を導きました。についてよく質問していました

const char *INTERFACE        = "wlan0";
struct ifreq ifr;
memset(&ifr, 0, sizeof(ifr));
snprintf(ifr.ifr_name, sizeof(ifr.ifr_name), INTERFACE);

巻き戻すとして答えた

セキュリティ上のリスクになる可能性があるため、警告する価値があります。文字列引数が実行時に変更可能な場合、% が「忍び込む」可能性があり、問題が発生する可能性があります。したがって、フォーマット文字列が「やりたいことをする」ようにハードコードされている方が良いでしょう。

ランタイムで文字列引数を変更するにはどうすればよいでしょうか?

編集:より明確にするために、ランタイムで文字列引数を変更する方法の例を誰か教えてもらえますか?

4

1 に答える 1