Skip to content
  • 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
Loading