[英]An obvious leak but clang static analyzer didnot detect, Why?
我写了一些这样的代码,
- (NSString*) caleSignParam:(NSMutableArray*)postData
{
NSMutableArray* keyArray = [[NSMutableArray alloc] initWithCapacity:50];
......
NSArray* sortedKeys = [keyArray sortedArrayUsingComparator:
(NSComparator)^(NSString *obj1, NSString *obj2) {
return [obj1 compare:obj2 options:NSLiteralSearch];
}];
......
NSString* signStr = aString;
return signStr;
}
我忘了释放keyArray,并使用非ARC,但是当我单击Xcode菜单上的“分析”时,它没有检测到keyArray的泄漏。
如果我注释“ NSArray * sortedKeys = ...”这一行,它可以检测到keyArray的泄漏。
我想知道静态分析器怎么了。
非常感谢您的帮助。
重要的是要了解静态分析器并不总是正确的,也不总是错误的。 它可能会带来误报和误报。 但是,默认设置可以使误报的可能性降到最低。 在这种特殊情况下,我想分析器没有足够的数据来确定keyArray会发生什么
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.