r198388 - [analyzer] Don't track return value of NSNull +null for retain/release tracking.
Ted Kremenek
kremenek at apple.com
Thu Jan 2 17:19:28 PST 2014
Author: kremenek
Date: Thu Jan 2 19:19:28 2014
New Revision: 198388
URL: http://llvm.org/viewvc/llvm-project?rev=198388&view=rev
Log:
[analyzer] Don't track return value of NSNull +null for retain/release tracking.
Fixes <rdar://problem/12858915>.
Modified:
cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp
cfe/trunk/test/Analysis/retain-release.m
Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp?rev=198388&r1=198387&r2=198388&view=diff
==============================================================================
--- cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp (original)
+++ cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp Thu Jan 2 19:19:28 2014
@@ -1507,6 +1507,11 @@ void RetainSummaryManager::InitializeMet
// as for NSWindow objects.
addClassMethSummary("NSPanel", "alloc", NoTrackYet);
+ // For NSNull, objects returned by +null are singletons that ignore
+ // retain/release semantics. Just don't track them.
+ // <rdar://problem/12858915>
+ addClassMethSummary("NSNull", "null", NoTrackYet);
+
// Don't track allocated autorelease pools, as it is okay to prematurely
// exit a method.
addClassMethSummary("NSAutoreleasePool", "alloc", NoTrackYet);
More information about the cfe-commits
mailing list