2

Why is my NSMutableString potentially insecure? I searched for this but couldn't find anything.

int hour = [number intValue] / 3600; 

NSMutableString *time = [[NSMutableString alloc] initWithString:@""];

if (hour < 9) {
    [time appendFormat:@"0"];
    [time appendFormat:[NSMutableString stringWithFormat:@"%d:", hour]];
}

What's wrong with it? This is the first time I've seen this.

4

2 に答える 2

10

これを変える:

[time appendFormat:[NSMutableString stringWithFormat:@"%d:", hour]];

これに:

[time appendFormat:@"%d:", hour];

このappendFormatメソッドは、。ではなくフォーマットで文字列を渡すことを想定していますNSMutableString。このスクリーンショットはそれを示しています:

ここに画像の説明を入力してください

于 2012-09-11T17:13:51.187 に答える
0

これはここで尋ねられた質問には答えませんが、提供されたコードは既存のフォーマット文字列オプションを再発明しようとしているようです。

[NSMutableString stringWithFormat:@"%02d:", hour]先行ゼロ付きの 2 桁の整数値を出力します。

于 2012-09-11T17:21:18.230 に答える