アカウント名:
パスワード:
int xxx_func(...){ char *str; str = (char *)malloc(sizeof(char) * x); (strに文字が入る処理) printf(str); return ret;}
printf("%s",str);
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
にわかな奴ほど語りたがる -- あるハッカー
よくやっちゃうんだよね (スコア:5, 参考になる)
# printf Injectionとでも言うのだろうか
M-FalconSky (暑いか寒い)
みんなprintf()だっていってるけど (スコア:0)
ケータイ開発はしたことがないけど、標準出力がディスプレイに行くように設計しないとじゃない?
# snprintf()は第2引数で揉めたことのあるAC
## Windowsのは_snprintf()だ!
BREWでの文字列の扱い (スコア:2, 興味深い)
http://plusd.itmedia.co.jp/mobile/0311/14/n_bapp.html [itmedia.co.jp]
をみると画面描画文字列はラップされているが、
デバッグ用関数がprintfっぽい。
ということでログ出力用のprintfの不具合くさいかな。
もしデバッグ用ログでリセットなら最悪ですな。まさにミイラ取りがミイラ。
Re:BREWでの文字列の扱い (スコア:0)
デバッグ用にビルドしないと DBGPRINTF は空文字に置き換えられるんだし。
どこかで 素の sprintf につながってたとか。最近の組込みは標準ライブラリの大半が使えること多いですからね。少なくとも BREW のアプリなら普通は ADS だから使ますね。
Re:みんなprintf()だっていってるけど (スコア:0)
# 空気読もうよ
ともかくケータイの開発ってコードレビューできないほど忙しいんでしょうね (スコア:0)
でも、
printf(str);
で、文字列を表示したくなるのはともかく
snprintf(buf, size, str);
って、文字列コピーにsnprintf()を使うのって、結構気持ち悪くない?(人それぞれかな)
それともディスプレイ出力関数の引数が可変長で第1引数あたりが、書式文字列だったりするのかな?
# そもそもprintf()を使ったHello Worldがいまいちだと思っているAC
Re:ともかくケータイの開発ってコードレビューできないほど忙しいんでしょうね (スコア:0)
>でも、
からsnprintf()に話が繋がるのかはわからないんだけど・・・
とりあえず、snprintf()使うよりはsprintf()にしたいかな。
どうしても出力文字数の調整が必要なら書式指定子とかで調整するんで。
print関数やstr関数で、なるべくならn付き関数は使いたくないチキンです。ハイ
Re:ともかくケータイの開発ってコードレビューできないほど忙しいんでしょうね (スコア:0)
# 戻り値チェックさせてNGなら異常系に落とすのも強制
# 当然、snprintf()が正しく実装されていることも確認
だって、コードレビューのときにバッファサイズと書式文字列を確認するの面倒なんだもの。
# 自分本位のひどいリーダだと思うのでAC