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
    • Anna Zaks's avatar
      [analyzer] Malloc checker: make a bit safer. · d1ff1cbe
      Anna Zaks authored
      llvm-svn: 150556
      d1ff1cbe
    • John McCall's avatar
      Split reinterpret_casts of member pointers out from CK_BitCast; this · c62bb391
      John McCall authored
      is general goodness because representations of member pointers are
      not always equivalent across member pointer types on all ABIs
      (even though this isn't really standard-endorsed).
      
      Take advantage of the new information to teach IR-generation how
      to do these reinterprets in constant initializers.  Make sure this
      works when intermingled with hierarchy conversions (although
      this is not part of our motivating use case).  Doing this in the
      constant-evaluator would probably have been better, but that would
      require a *lot* of extra structure in the representation of
      constant member pointers:  you'd really have to track an arbitrary
      chain of hierarchy conversions and reinterpretations in order to
      get this right.  Ultimately, this seems less complex.  I also
      wasn't quite sure how to extend the constant evaluator to handle
      foldings that we don't actually want to treat as extended
      constant expressions.
      
      llvm-svn: 150551
      c62bb391
    • Anna Zaks's avatar
      [analyzer] Malloc Checker: add support for reallocf, which always frees · ac06814d
      Anna Zaks authored
      the passed in pointer on failure.
      
      llvm-svn: 150533
      ac06814d
    • Anna Zaks's avatar
      [analyzer] Malloc Checker: add support for valloc + minor code · d5157485
      Anna Zaks authored
      hardening.
      
      llvm-svn: 150532
      d5157485
  9. Feb 14, 2012
Loading