パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

auのW42CAとW42Hが%nと%Sの文字列で強制再起動」記事へのコメント

  • こういうのかな。
    int xxx_func(...){
       char *str;
     
       str = (char *)malloc(sizeof(char) * x);
     
       (strに文字が入る処理)
     
       printf(str);
     
       return ret;
    }
    まあ、ここまで来ていれば次のようにするだけでOKなんですが...
      printf("%s",str);
    どっかしらに入りそうではありますねぇ

    # printf Injectionとでも言うのだろうか
    --
    M-FalconSky (暑いか寒い)
    • by Anonymous Coward
      今回は%sじゃなくて%Sだな。あと%nか。printfの変換指定子としてはマイナーだな。

      %S=%lsで、ふつーの%sがchar*を期待するのに対して、%Sはwchar_t*だ。なんで%sは大丈夫なんだろう。%Sはマイナーだから対策を忘れてたのかな。
      %nもあんまり使わないから忘れてたのかな。

身近な人の偉大さは半減する -- あるアレゲ人

処理中...