1. 0a61437 [analyzer] Copy GC mode setting from CFRefCount to RetainReleaseChecker in preparation for getting rid of CFRefCount. by Jordy Rose · 13 years ago
  2. 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
  3. bd85b13 [analyzer] Remove unused DoNothingByRef and the special case for CFDictionaryCreate. by Jordy Rose · 13 years ago
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 5337612 [analyzer] Correctly initialize a variable and hopefully fix crashes. by Jordy Rose · 13 years ago
  10. f2be652 Revert "[analyzer] Cleanup: Move temporary declarations of CFRefCount variables closer to their uses. No functionality change." by Eric Christopher · 13 years ago
  11. f21e2b4 Revert "[analyzer] Make CFRefBug and CFRefReportVisitor not dependent on CFRefCount. Unfortunately, CFRefReport still is. No functionality change." by Eric Christopher · 13 years ago
  12. 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
  13. 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
  14. dd6060e Move creation of the deallocation mismatch report into a separate function for future reuse. by Anna Zaks · 13 years ago
  15. f1d10d9 Constify the result of CFGStmt::getStmt(). by Ted Kremenek · 13 years ago
  16. b1793a0 Revert "[analyzer] Clean up unused bits of CFRefCount." by Eric Christopher · 13 years ago
  17. 6886a92 [analyzer] Clean up unused bits of CFRefCount. by Jordy Rose · 13 years ago
  18. e3fb7e4 [analyzer] Make CFRefBug and CFRefReportVisitor not dependent on CFRefCount. Unfortunately, CFRefReport still is. No functionality change. by Jordy Rose · 13 years ago
  19. d02b4af [analyzer] Cleanup: Move temporary declarations of CFRefCount variables closer to their uses. No functionality change. by Jordy Rose · 13 years ago
  20. 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
  21. 540dda6 Fix regression in -Wuninitialized involving VLAs. It turns out that we were modeling sizeof(VLAs) by Ted Kremenek · 13 years ago
  22. e0a5d32 [analyzer] Move helper method Update from CFRefCount to RetainReleaseChecker. No functionality change. by Jordy Rose · 13 years ago
  23. 8d22863 [analyzer] Move helper method handleAutoreleaseCounts from CFRefCount to RetainReleaseChecker. No functionality change. by Jordy Rose · 13 years ago
  24. 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
  25. 38f17d6 [analyzer] Move symbol death leak analysis from CFRefCount to RetainReleaseChecker. by Jordy Rose · 13 years ago
  26. 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
  27. 6fa7dbe [analyzer] Rename CFRefCount's evalSummary method to evalCallOrMessage, since it no longer, uh, evaluates call summaries. by Jordy Rose · 13 years ago
  28. 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
  29. 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
  30. 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
  31. edf4dae Clean up the CFRefBugReport - remove the members, which got moved to the CFRefReportVisitors. by Anna Zaks · 13 years ago
  32. 76c506f [analyzer] Migrate the aliasing effects of CFRetain and CFMakeCollectable from CFRefCount to RetainReleaseChecker. No intended functionality change. by Jordy Rose · 13 years ago
  33. 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
  34. 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
  35. 7df1234 [analyzer] Replace calls to getNameAsString() with StringRef equivalents. by Jordy Rose · 13 years ago
  36. d9f5a70 Fix compile on platforms that don't implicitly include stdarg.h here. by Benjamin Kramer · 13 years ago
  37. 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
  38. ab027fd Fix indentation. by Jordy Rose · 13 years ago
  39. e62e87b [analyzer] Move handling of hardcoded noreturn ("panic") methods from CFRefCount to NoReturnFunctionChecker. No functionality change intended. by Jordy Rose · 13 years ago
  40. 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
  41. d203c02 [analyzer] Simplify ExprEngine::VisitBinaryOperator() by removing recursive visit to subexpressions (which is no longer needed). by Ted Kremenek · 13 years ago
  42. 294fd0a Start partitioning ExprEngine.cpp into separate .cpp files that handle different parts by Ted Kremenek · 13 years ago
  43. 5f76431 Rename CXXExprEngine.cpp to ExprEngineCXX.cpp. by Ted Kremenek · 13 years ago
  44. 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
  45. e0e2933 Remove dead code. by Ted Kremenek · 13 years ago
  46. 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
  47. 50bbc16 Static Analyzer Diagnostics: Kill the addVisitorCreator(callbackTy, void*) API in favor of addVisitor(BugReporterVisitor*). by Anna Zaks · 13 years ago
  48. 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
  49. 8e6431a Static Analyzer Diagnostics: Move custom diagnostic visitors from BugReporterContext to BugReport. by Anna Zaks · 13 years ago
  50. b7530a4 Remove DiagBugReport by pulling it into its parent BugReport. by Anna Zaks · 13 years ago
  51. 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
  52. 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
  53. 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
  54. b7b0608 Fix typo. by Jordy Rose · 13 years ago
  55. a8fd0bc [analyzer] Add a warning for an incompatible plugin version. by Jordy Rose · 13 years ago
  56. 6875325 Silence compiler warnings by casting object pointers to function pointers via intptr_t. by Benjamin Kramer · 13 years ago
  57. 77a33a7 [analyzer] Add basic support for pluggable checkers. by Jordy Rose · 13 years ago
  58. 5bd0495 [analyzer] teach ExprEngine about loads from static C++ class fields. Fixes <rdar://problem/9948787>. by Ted Kremenek · 13 years ago
  59. 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
  60. b1a1950 MacOSKeychainAPIChecker: Turn it on by default. by Anna Zaks · 13 years ago
  61. f0c7fe5 MacOSKeychainAPIChecker: Do not report double allocation if first allocation returned an error. by Anna Zaks · 13 years ago
  62. 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
  63. 4ee7c9c [analyzer] fix operation inversion calculation in ConditionVisitor. by Ted Kremenek · 13 years ago
  64. 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
  65. 6c7511d [analyzer] add ExprEngine::getEagerlyAssumedTags() to allow externally querying of "eagerly assumed" expressions. by Ted Kremenek · 13 years ago
  66. 86b39f2 [analyzer] Remove PostStmtCustom ProgramPoint. It can be represented using tagged PostStmts. by Ted Kremenek · 13 years ago
  67. 7d458b0 MacOSKeychainAPIChecker: The security API/memory leak checker should always generate regular nodes instead of sink nodes. by Anna Zaks · 13 years ago
  68. 2fde35d Add ProgramState.cpp. by Ted Kremenek · 13 years ago
  69. 18c66fd Rename GRState to ProgramState, and cleanup some code formatting along the way. by Ted Kremenek · 13 years ago
  70. 67f7fa4 MacOSKeychainAPIChecker: Use llvm::SmallString instead of std::string (as per code review for r137523). by Anna Zaks · 13 years ago
  71. 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
  72. ca80453 [analyzer] change "tag" in ProgramPoint from "void*" to a ProgramPointTag*. by Ted Kremenek · 13 years ago
  73. 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
  74. 703ffb1 MacOSKeychainAPIChecker: by Anna Zaks · 13 years ago
  75. 096aef9 [analyzer] Nitpicks on Olaf's patch, which I meant to e-mail but then didn't in by Jordy Rose · 13 years ago
  76. 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
  77. 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
  78. 579ad7a Optimizations for Dependent Symbol tracking (as per Ted's code review for r137309): by Anna Zaks · 13 years ago
  79. 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
  80. 0e89061 Cleanup: remove CleanedSate member and GetState() wrapper from StmtNodeBuilder, not needed as of r137273. by Anna Zaks · 13 years ago
  81. db5e8cd Cleanup: remove GetState() wrapper from ExprEngine, not needed as of r137273. by Anna Zaks · 13 years ago
  82. 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
  83. 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
  84. f91a5b0 [analyzer] Simplify logic for ExprEngine::VisitUnaryExprOrTypeTraitExpr to avoid recursion to subexpression. by Ted Kremenek · 13 years ago
  85. bea2753 [analyzer] Change SymbolReaper to store region roots implied by the Environment, allowing it be queried when by Ted Kremenek · 13 years ago
  86. 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
  87. ca0b57e KeychainAPI checker: Generate an error on double allocation. Pull out getAsPointeeMemoryRegion so that it could be reused. by Anna Zaks · 13 years ago
  88. 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
  89. 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
  90. 08551b5 KeychainAPI checker: refactor to use early exit. by Anna Zaks · 13 years ago
  91. 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
  92. 0e24471 [analyzer] Remove 'all-experimental' checker group. by Ted Kremenek · 13 years ago
  93. 033a07e [analyzer] rename all experimental checker packages to have 'experimental' be the common root package. by Ted Kremenek · 13 years ago
  94. 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
  95. 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
  96. ff8e758 [analyzer] Drastically simplify ExprEngine::VisitInitListExpr() by assuming all initializer expressions have already been evaluated. by Ted Kremenek · 13 years ago
  97. e68b5f1 KeychainAPI checker: only check the paths on which the allocator function returned noErr. (+ minor cleanup) by Anna Zaks · 13 years ago
  98. 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
  99. b9a8adf Remove dead code flagged by GCC's -Wunused-but-set-variable. by Benjamin Kramer · 13 years ago
  100. 6075f01 [analyzer] Remove recursive visitation in ExprEngine::VisitDeclStmt because it isn't needed anymore. by Ted Kremenek · 13 years ago