- 0a61437 [analyzer] Copy GC mode setting from CFRefCount to RetainReleaseChecker in preparation for getting rid of CFRefCount. by Jordy Rose · 13 years ago
- 1492426 [analyzer] Allow checker writes to specify that no region should be accosiated with the report. (Useful when we report an error on endOfPath or deadSymbols, when the range of the last expression might have nothing to do with the error.) by Anna Zaks · 13 years ago
- bd85b13 [analyzer] Remove unused DoNothingByRef and the special case for CFDictionaryCreate. by Jordy Rose · 13 years ago
- 9c083b7 [analyzer] Slightly clean up the fix in 138432, so that it doesn't depend on the relative ordering of path-sensitive and path-insensitive checks. Still not ideal, but I think a real fix would require infrastructure that doesn't exist yet. by Jordy Rose · 13 years ago
- 1ab51c7 [analyzer] Fix a Heisenbug concerning object lifetimes with a hack. Hopefully a better fix coming soon. See comment for more details. by Jordy Rose · 13 years ago
- 1bb094f [analyzer] Reapply 138390 "Clean up unused bits of CFRefCount", reverted in 138405. Ended up unrelated to any problems. by Jordy Rose · 13 years ago
- 0fe62f8 [analyzer] Fix potential crasher with RAII. No functionality change. (No test because this particular circumstance requires an impossible series of events, but this is future-proofing.) by Jordy Rose · 13 years ago
- 35c8695 [analyzer] Reapply 138382 and 138388 (reverted in 138419 and 138420). The issue seems to have been with the uninitialized variable fixed in 138424; a fix for another Heisencrasher coming soon. by Jordy Rose · 13 years ago
- 5337612 [analyzer] Correctly initialize a variable and hopefully fix crashes. by Jordy Rose · 13 years ago
- f2be652 Revert "[analyzer] Cleanup: Move temporary declarations of CFRefCount variables closer to their uses. No functionality change." by Eric Christopher · 13 years ago
- f21e2b4 Revert "[analyzer] Make CFRefBug and CFRefReportVisitor not dependent on CFRefCount. Unfortunately, CFRefReport still is. No functionality change." by Eric Christopher · 13 years ago
- 6cf0ed0 [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. by Anna Zaks · 13 years ago
- 31e1028 [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*. by Anna Zaks · 13 years ago
- dd6060e Move creation of the deallocation mismatch report into a separate function for future reuse. by Anna Zaks · 13 years ago
- f1d10d9 Constify the result of CFGStmt::getStmt(). by Ted Kremenek · 13 years ago
- b1793a0 Revert "[analyzer] Clean up unused bits of CFRefCount." by Eric Christopher · 13 years ago
- 6886a92 [analyzer] Clean up unused bits of CFRefCount. by Jordy Rose · 13 years ago
- e3fb7e4 [analyzer] Make CFRefBug and CFRefReportVisitor not dependent on CFRefCount. Unfortunately, CFRefReport still is. No functionality change. by Jordy Rose · 13 years ago
- d02b4af [analyzer] Cleanup: Move temporary declarations of CFRefCount variables closer to their uses. No functionality change. by Jordy Rose · 13 years ago
- ec9ef85 [analyzer] Move function retain-count effect summary log from CFRefCount to RetainReleaseChecker, and then explicitly provide the summary log when creating CFRefReports. No functionality change. by Jordy Rose · 13 years ago
- 540dda6 Fix regression in -Wuninitialized involving VLAs. It turns out that we were modeling sizeof(VLAs) by Ted Kremenek · 13 years ago
- e0a5d32 [analyzer] Move helper method Update from CFRefCount to RetainReleaseChecker. No functionality change. by Jordy Rose · 13 years ago
- 8d22863 [analyzer] Move helper method handleAutoreleaseCounts from CFRefCount to RetainReleaseChecker. No functionality change. by Jordy Rose · 13 years ago
- f53e8c7 [analyzer] Move ReturnStmt retain-count analysis from CFRefCount to RetainReleaseChecker. Tweak CFRefReport to reflect that fact that ReturnStmt checks are pre-statement, not post-statement. No intended functionality change. by Jordy Rose · 13 years ago
- 38f17d6 [analyzer] Move symbol death leak analysis from CFRefCount to RetainReleaseChecker. by Jordy Rose · 13 years ago
- 4df54fe [analyzer] Only allocate retain summaries for interesting functions/messages. This is a minor saving of memory but doesn't seem to cost any performance. by Jordy Rose · 13 years ago
- 6fa7dbe [analyzer] Rename CFRefCount's evalSummary method to evalCallOrMessage, since it no longer, uh, evaluates call summaries. by Jordy Rose · 13 years ago
- 294396b [analyzer] Migrate the handling of retain-count-related RetEffects and ArgEffects from CFRefCount to RetainReleaseChecker. No intended functionality change. by Jordy Rose · 13 years ago
- 7bbd166 [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. by Anna Zaks · 13 years ago
- 7f2531c Static Analyzer Diagnostics: Allow checkers to add ExtraDescriptiveText, now renamed into ExtraText, to the diagnostic without subclassing BugReport. by Anna Zaks · 13 years ago
- edf4dae Clean up the CFRefBugReport - remove the members, which got moved to the CFRefReportVisitors. by Anna Zaks · 13 years ago
- 76c506f [analyzer] Migrate the aliasing effects of CFRetain and CFMakeCollectable from CFRefCount to RetainReleaseChecker. No intended functionality change. by Jordy Rose · 13 years ago
- df0fcdd [analyzer] Remove FIXME; Ted reminded me that -init is not guaranteed to return its receiver and pretending that it does won't actually buy us anything. (Comment change only.) by Jordy Rose · 13 years ago
- 500abad [analyzer] Migrate return value handling from CFRefCount to ExprEngine. This seems to result in a minor performance hit, but I think that will go away again once we eliminate TransferFuncs from function calls entirely. by Jordy Rose · 13 years ago
- 7df1234 [analyzer] Replace calls to getNameAsString() with StringRef equivalents. by Jordy Rose · 13 years ago
- d9f5a70 Fix compile on platforms that don't implicitly include stdarg.h here. by Benjamin Kramer · 13 years ago
- 2f9a66d [analyzer] RetainReleaseChecker always wants region change updates. There's no need for a flag, at least not right now. by Jordy Rose · 13 years ago
- ab027fd Fix indentation. by Jordy Rose · 13 years ago
- e62e87b [analyzer] Move handling of hardcoded noreturn ("panic") methods from CFRefCount to NoReturnFunctionChecker. No functionality change intended. by Jordy Rose · 13 years ago
- f8b5aae [analyzer] Handle reads of ObjCPropertyRefExprs implicitly in Environment. No need to bind an explicit value and create a new node. by Ted Kremenek · 13 years ago
- d203c02 [analyzer] Simplify ExprEngine::VisitBinaryOperator() by removing recursive visit to subexpressions (which is no longer needed). by Ted Kremenek · 13 years ago
- 294fd0a Start partitioning ExprEngine.cpp into separate .cpp files that handle different parts by Ted Kremenek · 13 years ago
- 5f76431 Rename CXXExprEngine.cpp to ExprEngineCXX.cpp. by Ted Kremenek · 13 years ago
- 23f395e Static Analyzer Diagnostics: Move the responsibility for generating the endOfPath diagnostic piece from BugReport to BugReporterVisitor. Switch CFRefCount to use visitors in order to generate the endOfPath piece. by Anna Zaks · 13 years ago
- e0e2933 Remove dead code. by Ted Kremenek · 13 years ago
- dc757b0 Static Analyzer Diagnostics: Switch CFRefCount to using the new visitor API. BugReport no longer needs to inherit from BugReporterVisitor. by Anna Zaks · 13 years ago
- 50bbc16 Static Analyzer Diagnostics: Kill the addVisitorCreator(callbackTy, void*) API in favor of addVisitor(BugReporterVisitor*). by Anna Zaks · 13 years ago
- 3b030a2 Fix a memory leak in the analyzer - BugReports didn't get freed. Plus, remove invalid assert from the destructor which wasn't called previously due to the leak. by Anna Zaks · 13 years ago
- 8e6431a Static Analyzer Diagnostics: Move custom diagnostic visitors from BugReporterContext to BugReport. by Anna Zaks · 13 years ago
- b7530a4 Remove DiagBugReport by pulling it into its parent BugReport. by Anna Zaks · 13 years ago
- e172e8b 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. by Anna Zaks · 13 years ago
- 6704429 [analyzer] Migrate assumption and binding handling from CFRefCount to RetainReleaseChecker. This is mostly a textual move and required no supporting changes. No functionality change intended. by Jordy Rose · 13 years ago
- 012614e Fix a handful of dead stores found by Clang's static analyzer. There's a bunch of others I haven't touched. by Ted Kremenek · 13 years ago
- b7b0608 Fix typo. by Jordy Rose · 13 years ago
- a8fd0bc [analyzer] Add a warning for an incompatible plugin version. by Jordy Rose · 13 years ago
- 6875325 Silence compiler warnings by casting object pointers to function pointers via intptr_t. by Benjamin Kramer · 13 years ago
- 77a33a7 [analyzer] Add basic support for pluggable checkers. by Jordy Rose · 13 years ago
- 5bd0495 [analyzer] teach ExprEngine about loads from static C++ class fields. Fixes <rdar://problem/9948787>. by Ted Kremenek · 13 years ago
- 08b8653 [analyzer] Overhaul of checker registration in preparation for basic plugin support. Removes support for checker groups (we can add them back in later if we decide they are still useful), and -analyzer-checker-help output is a little worse for the time being (no packages). by Jordy Rose · 13 years ago
- b1a1950 MacOSKeychainAPIChecker: Turn it on by default. by Anna Zaks · 13 years ago
- f0c7fe5 MacOSKeychainAPIChecker: Do not report double allocation if first allocation returned an error. by Anna Zaks · 13 years ago
- 3b9e8e4 [analyzer] Enhance ConditionVisitor to handle arbitrary ValueDecls in binary expressions, and also handle inverting the order of comparison when the named decl appears on the RHS. by Ted Kremenek · 13 years ago
- 4ee7c9c [analyzer] fix operation inversion calculation in ConditionVisitor. by Ted Kremenek · 13 years ago
- 681bc11 [analyzer] Enhance ConditionVisitor to understand eagerly evaluated (simple) binary conditions, and teach it to only focus on constraint changes. by Ted Kremenek · 13 years ago
- 6c7511d [analyzer] add ExprEngine::getEagerlyAssumedTags() to allow externally querying of "eagerly assumed" expressions. by Ted Kremenek · 13 years ago
- 86b39f2 [analyzer] Remove PostStmtCustom ProgramPoint. It can be represented using tagged PostStmts. by Ted Kremenek · 13 years ago
- 7d458b0 MacOSKeychainAPIChecker: The security API/memory leak checker should always generate regular nodes instead of sink nodes. by Anna Zaks · 13 years ago
- 2fde35d Add ProgramState.cpp. by Ted Kremenek · 13 years ago
- 18c66fd Rename GRState to ProgramState, and cleanup some code formatting along the way. by Ted Kremenek · 13 years ago
- 67f7fa4 MacOSKeychainAPIChecker: Use llvm::SmallString instead of std::string (as per code review for r137523). by Anna Zaks · 13 years ago
- 9c378f7 Cleanup various declarations of 'Stmt*' to be 'Stmt *', etc. in libAnalyzer and libStaticAnalyzer[*]. It was highly inconsistent, and very ugly to look at. by Ted Kremenek · 13 years ago
- ca80453 [analyzer] change "tag" in ProgramPoint from "void*" to a ProgramPointTag*. by Ted Kremenek · 13 years ago
- 79c9c75 MacOSKeychainAPIChecker: If the allocated data address entered as an enclosing function parameter, skip it to avoid false positives. by Anna Zaks · 13 years ago
- 703ffb1 MacOSKeychainAPIChecker: by Anna Zaks · 13 years ago
- 096aef9 [analyzer] Nitpicks on Olaf's patch, which I meant to e-mail but then didn't in by Jordy Rose · 13 years ago
- 864d252 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. by Anna Zaks · 13 years ago
- 9697934 [analyzer] Introduce new MemRegion, "TypedValueRegion", so that we can separate TypedRegions that implement getValueType() from those that don't. by Ted Kremenek · 13 years ago
- 579ad7a Optimizations for Dependent Symbol tracking (as per Ted's code review for r137309): by Anna Zaks · 13 years ago
- 89f9209 Analyzer Core: Adding support for user-defined symbol dependencies. (For example, the allocated resource symbol only needs to be freed if no error has been returned by the allocator, so a checker might want to make the lifespan of the error code symbol depend on the allocated resource symbol.) Note, by default, the map that holds the dependencies will get destroyed along with the SymbolManager at the end of function exploration. by Anna Zaks · 13 years ago
- 0e89061 Cleanup: remove CleanedSate member and GetState() wrapper from StmtNodeBuilder, not needed as of r137273. by Anna Zaks · 13 years ago
- db5e8cd Cleanup: remove GetState() wrapper from ExprEngine, not needed as of r137273. by Anna Zaks · 13 years ago
- 6bd528b Analyzer Core: In checkDeadSymbols checker callback, provide the state in which the symbols are not yet deleted so that checkers could inspect them. Since we are now always creating a transition in ProcessStmt(), remove the logic for adding a transition when none was generated. TODO: the extra transitions will have to be removed; more cleanups; a checker that tests teh new fucntionality. by Anna Zaks · 13 years ago
- 993124e [analyzer] Start sketching out a new BugReporterVisitor that inspects branches and other expressions to generate interesting path events in diagnostics. by Ted Kremenek · 13 years ago
- f91a5b0 [analyzer] Simplify logic for ExprEngine::VisitUnaryExprOrTypeTraitExpr to avoid recursion to subexpression. by Ted Kremenek · 13 years ago
- bea2753 [analyzer] Change SymbolReaper to store region roots implied by the Environment, allowing it be queried when by Ted Kremenek · 13 years ago
- 5a58c6d KeychainAPI checker: Track SymbolMetadata instead of MemRegion in checker state so that we could clear the state on evalDeadSymbols; also track the return value. by Anna Zaks · 13 years ago
- ca0b57e KeychainAPI checker: Generate an error on double allocation. Pull out getAsPointeeMemoryRegion so that it could be reused. by Anna Zaks · 13 years ago
- 76cbb75 KeychainAPI checker: Track additional pair of SecKeychain APIs. Also, keep exploring the transition on which a call to allocator function failed (to be able to find errors in examples like ErrorCodesFromDifferentAPISDoNotInterfere). by Anna Zaks · 13 years ago
- 083fcb2 KeychainAPI checker: Refactor to make it easier to add more allocator/deallocator API pairs. Add the allocator function ID to the checker state. Better comments. by Anna Zaks · 13 years ago
- 08551b5 KeychainAPI checker: refactor to use early exit. by Anna Zaks · 13 years ago
- 03826aa KeychainAPI checker: Add basic diagnostics. Track MemoryRegion istead of SymbolicRef since the address might not be a symbolic value in some cases, for example in fooOnlyFree() test. by Anna Zaks · 13 years ago
- 0e24471 [analyzer] Remove 'all-experimental' checker group. by Ted Kremenek · 13 years ago
- 033a07e [analyzer] rename all experimental checker packages to have 'experimental' be the common root package. by Ted Kremenek · 13 years ago
- 17f7bdd [analyzer] Introduce MallocOverflowSecurityChecker, a simple flow-sensitive checker that may be useful for security auditing. This checker is currently too noisy to be on by default. by Ted Kremenek · 13 years ago
- eb3058a Static Analyzer diagnostics visualization: when the last location on a path is end of the function, the arrow should point to the closing brace, not the statement before it. Patch by Ted Kremenek. by Anna Zaks · 13 years ago
- ff8e758 [analyzer] Drastically simplify ExprEngine::VisitInitListExpr() by assuming all initializer expressions have already been evaluated. by Ted Kremenek · 13 years ago
- e68b5f1 KeychainAPI checker: only check the paths on which the allocator function returned noErr. (+ minor cleanup) by Anna Zaks · 13 years ago
- f57be28 Add a skeleton for the Keychain Services API Checker. Register it as OSX experimental for now. Note, the checker still does not handle tracking of escaped values, taking into account the return value of the allocator functions, nor the actual bug reporting.. by Anna Zaks · 13 years ago
- b9a8adf Remove dead code flagged by GCC's -Wunused-but-set-variable. by Benjamin Kramer · 13 years ago
- 6075f01 [analyzer] Remove recursive visitation in ExprEngine::VisitDeclStmt because it isn't needed anymore. by Ted Kremenek · 13 years ago