Possible Duplicate:
SnowLeopard Xcode warning: “format not a string literal and no format arguments”
这行代码有以下问题.
"格式字符串不是字符串文字(可能不安全)"
NSLog([NSString stringWithFormat:@"%@", entered]);
有什么建议吗?
Possible Duplicate:
SnowLeopard Xcode warning: “format not a string literal and no format arguments”
这行代码有以下问题.
"格式字符串不是字符串文字(可能不安全)"
NSLog([NSString stringWithFormat:@"%@", entered]);
有什么建议吗?
编译器希望我们对格式字符串(第一个参数为NSLog
)使用NSString常量,因为它可以防止可能违反安全性的已知攻击.例如,您可以按如下方式更改发布的代码,以使编译器满意:
NSLog(@"%@", [NSString stringWithFormat:@"%@", entered]);
EDIT
当然,上述内容可以(也应该)简单地写如下:
NSLog(@"%@", entered);
Nature of Security Exploits
Uncontrolled format string[1]是一种软件漏洞,
典型的利用
资料来源:维基百科Uncontrolled Format String
[1] :http://cwe.mitre.org/data/definitions/134.html"CWE-134:非受控格式字符串".常见弱点列举.斜接.