Skip to content
  1. Feb 23, 2012
    • Anna Zaks's avatar
      [analyzer] KeyChainAPI: unique the leaks by allocation site. · 4b062cb9
      Anna Zaks authored
      (Very similar to the previous change in malloc.)
      
      llvm-svn: 151297
      4b062cb9
    • Anna Zaks's avatar
      [analyzer] Malloc: unique leak reports by allocation site. · df901a44
      Anna Zaks authored
      When we find two leak reports with the same allocation site, report only
      one of them.
      
      Provide a helper method to BugReporter to facilitate this.
      
      llvm-svn: 151287
      df901a44
    • Anna Zaks's avatar
      [analyzer] Invalidate the region passed to pthread_setspecific() call. · 07de9c12
      Anna Zaks authored
      Make this call an exception in ExprEngine::invalidateArguments:
      'int pthread_setspecific(ptheread_key k, const void *)' stores
      a value into thread local storage. The value can later be retrieved
      with 'void *ptheread_getspecific(pthread_key)'. So even thought the
      parameter is 'const void *', the region escapes through the
      call.
      
      (Here we just blacklist the call in the ExprEngine's default
      logic. Another option would be to add a checker which evaluates
      the call and triggers the call to invalidate regions.)
      
      Teach the Malloc Checker, which treats all system calls as safe about
      the API.
      
      llvm-svn: 151220
      07de9c12
  2. Feb 22, 2012
  3. Feb 21, 2012
  4. Feb 20, 2012
  5. Feb 18, 2012
  6. Feb 17, 2012
  7. Feb 16, 2012
  8. Feb 15, 2012
  9. Feb 14, 2012
    • Anna Zaks's avatar
      [analyzer] Make Malloc Checker optimistic in presence of inlining. · 3d34834b
      Anna Zaks authored
      (In response of Ted's review of r150112.)
      
      This moves the logic which checked if a symbol escapes through a
      parameter to invalidateRegionCallback (instead of post CallExpr visit.)
      
      To accommodate the change, added a CallOrObjCMessage parameter to
      checkRegionChanges callback.
      
      llvm-svn: 150513
      3d34834b
    • Anna Zaks's avatar
      [analyzer] Malloc Checker: realloc: add dependency between the symbols · ad01ef5f
      Anna Zaks authored
      in realloc map. 
      
      If there is no dependency, the reallocated ptr will get garbage
      collected before we know that realloc failed, which would lead us to
      missing a memory leak warning.
      
      Also added new test cases, which we can handle now.
      Plus minor cleanups.
      
      llvm-svn: 150446
      ad01ef5f
  10. Feb 13, 2012
    • Anna Zaks's avatar
      [analyzer] Malloc Checker: realloc: correct the way we are handing the · 8fd0f2a6
      Anna Zaks authored
      case when size is 0.
      
      llvm-svn: 150412
      8fd0f2a6
    • Anna Zaks's avatar
      [analyzer] Malloc checker: rework realloc handling: · d56c8794
      Anna Zaks authored
      1) Support the case when realloc fails to reduce False Positives. (We
      essentially need to restore the state of the pointer being reallocated.)
      
      2) Realloc behaves differently under special conditions (from pointer is
      null, size is 0). When detecting these cases, we should consider
      under-constrained states (size might or might not be 0). The
      old version handled this in a very hacky way. The code did not
      differentiate between definite and possible (no consideration for
      under-constrained states). Further, after processing each special case,
      the realloc processing function did not return but chained to the next
      special case processing. So you could end up in an execution in which
      you first see the states in which size is 0 and realloc ~ free(),
      followed by the states corresponding to size is not 0 followed by the
      evaluation of the regular realloc behavior.
      
      llvm-svn: 150402
      d56c8794
  11. Feb 12, 2012
  12. Feb 11, 2012
  13. Feb 10, 2012
  14. Feb 09, 2012
  15. Feb 08, 2012
  16. Feb 07, 2012
    • Benjamin Kramer's avatar
      Revert my patches which removed Diagnostic.h includes by moving some operator... · 7ec12c92
      Benjamin Kramer authored
      Revert my patches which removed Diagnostic.h includes by moving some operator overloads out of line.
      
      This seems to negatively affect compile time onsome ObjC tests
      (which use a lot of partial diagnostics I assume). I have to come
      up with a way to keep them inline without including Diagnostic.h
      everywhere. Now adding a new diagnostic requires a full rebuild
      of e.g. the static analyzer which doesn't even use those diagnostics.
      
      This reverts commit 6496bd10dc3a6d5e3266348f08b6e35f8184bc99.
      This reverts commit 7af19b817ba964ac560b50c1ed6183235f699789.
      This reverts commit fdd15602a42bbe26185978ef1e17019f6d969aa7.
      This reverts commit 00bd44d5677783527d7517c1ffe45e4d75a0f56f.
      This reverts commit ef9b60ffed980864a8db26ad30344be429e58ff5.
      
      llvm-svn: 150006
      7ec12c92
    • Benjamin Kramer's avatar
      Print NamedDecls directly to a raw_ostream where possible. · db0fc513
      Benjamin Kramer authored
      llvm-svn: 149982
      db0fc513
Loading