- Mar 24, 2012
-
-
Jordy Rose authored
[analyzer] Add a clone() method to BugReporterVisitor, so that we'll be able to reset diagnostic generation. llvm-svn: 153368
-
- Mar 11, 2012
-
-
Jordy Rose authored
llvm-svn: 152521
-
- Mar 09, 2012
-
-
Ted Kremenek authored
Essentially, a bug centers around a story for various symbols and regions. We should only include the path diagnostic events that relate to those symbols and regions. The pruning is done by associating a set of interesting symbols and regions with a BugReporter, which can be modified at BugReport creation or by BugReporterVisitors. This patch reduces the diagnostics emitted in several of our test cases. I've vetted these as having desired behavior. The only regression is a missing null check diagnostic for the return value of realloc() in test/Analysis/malloc-plist.c. This will require some investigation to fix, and I have added a FIXME to the test case. llvm-svn: 152361
-
- Feb 28, 2012
-
-
Anna Zaks authored
closest function context (Keychain API). llvm-svn: 151613
-
- Feb 23, 2012
-
-
Anna Zaks authored
(Very similar to the previous change in malloc.) llvm-svn: 151297
-
- Feb 21, 2012
-
-
Anna Zaks authored
llvm-svn: 151007
-
- Feb 05, 2012
-
-
Dylan Noblesmith authored
(I was going to fix the TODO about DenseMap too, but that would break self-host right now. See PR11922.) llvm-svn: 149799
-
Dylan Noblesmith authored
llvm-svn: 149798
-
- Feb 04, 2012
-
-
Benjamin Kramer authored
Fix all the transitive include users. llvm-svn: 149783
-
- Jan 26, 2012
-
-
Ted Kremenek authored
At this point this is largely cosmetic, but it opens the door to replace ProgramStateRef with a smart pointer that more eagerly acts in the role of reclaiming unused ProgramState objects. llvm-svn: 149081
-
- Jan 12, 2012
-
-
Anna Zaks authored
+ all the other Retrieve..() methods + a comment for ElementRegion. llvm-svn: 148011
-
- Jan 06, 2012
-
-
Ted Kremenek authored
(Stmt*,LocationContext*) pairs to SVals instead of Stmt* to SVals. This is needed to support basic IPA via inlining. Without this, we cannot tell if a Stmt* binding is part of the current analysis scope (StackFrameContext) or part of a parent context. This change introduces an uglification of the use of getSVal(), and thus takes two steps forward and one step back. There are also potential performance implications of enlarging the Environment. Both can be addressed going forward by refactoring the APIs and optimizing the internal representation of Environment. This patch mainly introduces the functionality upon when we want to build upon (and clean up). llvm-svn: 147688
-
- Dec 01, 2011
-
-
radar://10508828Anna Zaks authored
We trigger an error if free is called after a possibly failed allocation. Do not trigger the error if we know that the buffer is not null. llvm-svn: 145584
-
Anna Zaks authored
We are getting name of the called function or it's declaration in a few checkers. Refactor them to use the helper function in the CheckerContext. llvm-svn: 145576
-
- Nov 16, 2011
-
-
Anna Zaks authored
many checkers are trying to get a name of the callee when visiting a CallExpr, so provide a convenience API. llvm-svn: 144820
-
- Oct 26, 2011
-
-
Anna Zaks authored
Also document addTransition methods. llvm-svn: 143059
-
- Oct 25, 2011
-
-
Anna Zaks authored
Remove dead members/parameters: ProgramState, respondsToCallback, autoTransition. Remove addTransition method since it's the same as generateNode. Maybe we should rename generateNode to genTransition (since a transition is always automatically generated)? llvm-svn: 142946
-
Anna Zaks authored
Get rid of the EndOfPathBuilder completely. Use the generic NodeBuilder to generate nodes. Enqueue the end of path frontier explicitly. llvm-svn: 142943
-
- Sep 15, 2011
-
-
Anna Zaks authored
[analyzer] Refactor: make PathDiagnosticLocation responsible for validation of SourceLocations (commit 2 of ?): - Modify all PathDiagnosticLocation constructors that take Stmt to also requre LocationContext. - Add a constructor which should be used in case there is no valid statement/location (it will grab the location of the enclosing function). llvm-svn: 139763
-
- Aug 29, 2011
-
-
Anna Zaks authored
[analyzer] MacOSKeychainAPIChecker: Simplify getSymbolForRegion by using existing API. Thanks Jordy. llvm-svn: 138765
-
Anna Zaks authored
Fix: Bug 10798 - [analyzer] Crash when analyzing ICU. (A slight improvement on the previous commit.) llvm-svn: 138762
-
Anna Zaks authored
Patch by Jean-Daniel Dupas. Thanks for spotting and fixing! llvm-svn: 138757
-
- Aug 25, 2011
- Aug 24, 2011
-
-
Anna Zaks authored
llvm-svn: 138497
-
Anna Zaks authored
llvm-svn: 138493
-
Anna Zaks authored
[analyzer] MacOSKeychainAPIChecker: Provide reacher diagnostic trace by pointing to the allocation site when reporting a leak. llvm-svn: 138479
-
Anna Zaks authored
[analyzer] MacOSKeychainAPIChecker: Add reasoning about functions which MIGHT deallocate the memory region allocated with SecKeychain APIs. Specifically, when the buffer is passed to CFStringCreateWithBytesNoCopy along with a custom deallocator, which might potentially correctly release the memory. llvm-svn: 138417
-
Anna Zaks authored
[analyzer] MacOSKeychainAPIChecker: Retrieve the memory region which we are tracking even when it's no longer a SymbolicRegion, for example, when it is cast to char*. llvm-svn: 138415
-
Anna Zaks authored
llvm-svn: 138414
-
- Aug 23, 2011
-
-
Anna Zaks authored
[analyzer] MacOSKeychainAPIChecker: Users of KeyChain API often use free() to deallocate the password. Catch this error explicitly and generate the error message at the place where free() is called. llvm-svn: 138296
-
- Aug 18, 2011
-
-
Anna Zaks authored
Remove EnhancedBugReport and RangedBugReport - pull all the extra functionality they provided into their parent BugReport. The only functional changes are: made getRanges() non const - it adds default range to Ranges if none are supplied, made getStmt() private, which was another FIXME. llvm-svn: 137894
-
- Aug 16, 2011
-
-
Anna Zaks authored
llvm-svn: 137720
-
Anna Zaks authored
MacOSKeychainAPIChecker: The security API/memory leak checker should always generate regular nodes instead of sink nodes. llvm-svn: 137681
-
Ted Kremenek authored
llvm-svn: 137665
-
- Aug 15, 2011
-
-
Anna Zaks authored
MacOSKeychainAPIChecker: Use llvm::SmallString instead of std::string (as per code review for r137523). llvm-svn: 137633
-
- Aug 13, 2011
-
-
Anna Zaks authored
MacOSKeychainAPIChecker: If the allocated data address entered as an enclosing function parameter, skip it to avoid false positives. llvm-svn: 137526
-
- Aug 12, 2011
-
-
Anna Zaks authored
Report errors earlier: on checkDeadSymbols() and clear the state after the symbol we are tracking goes out of scope. Also, perform lazy error checking. Instead of forcing the paths to be split depending one the return value of the allocator, make the return symbol depend on the allocated data symbol, which prolongs its life span to the time when the allocated data symbol becomes dead. llvm-svn: 137523
-
Anna Zaks authored
MacOSKeychainAPIChecker: There is no need to use SymbolMetadata to represent the allocated data symbol, we can just use the symbol corresponding to the SymbolicRegion. This simplifies tracking of the symbol, for example, SymbolMetadata needs to go through extra hoops to stay alive. Make AllocationState internal to the MacOSKeychainAPIChecker class. llvm-svn: 137514
-
- Aug 06, 2011
-
-
Anna Zaks authored
KeychainAPI checker: Track SymbolMetadata instead of MemRegion in checker state so that we could clear the state on evalDeadSymbols; also track the return value. llvm-svn: 137003
-