aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineFunctionPass.cpp
diff options
context:
space:
mode:
authorAnna Zaks <ganna@apple.com>2017-01-13 00:50:41 +0000
committerAnna Zaks <ganna@apple.com>2017-01-13 00:50:41 +0000
commit14b1af5dcd306ade2cc0d5ab961871de50a5b175 (patch)
treecc08b70119567ddc026236f9c327b5b910b52745 /llvm/lib/CodeGen/MachineFunctionPass.cpp
parentfbe2369f1a514423e4c25417ab3532502fde6f2a (diff)
downloadllvm-14b1af5dcd306ade2cc0d5ab961871de50a5b175.zip
llvm-14b1af5dcd306ade2cc0d5ab961871de50a5b175.tar.gz
llvm-14b1af5dcd306ade2cc0d5ab961871de50a5b175.tar.bz2
[analyzer] Fix false positives in Keychain API checker
The checker has several false positives that this patch addresses: - Do not check if the return status has been compared to error (or no error) at the time when leaks are reported since the status symbol might no longer be alive. Instead, pattern match on the assume and stop tracking allocated symbols on error paths. - The checker used to report error when an unknown symbol was freed. This could lead to false positives, let's not repot those. This leads to loss of coverage in double frees. - Do not enforce that we should only call free if we are sure that error was not returned and the pointer is not null. That warning is too noisy and we received several false positive reports about it. (I removed: "Only call free if a valid (non-NULL) buffer was returned") - Use !isDead instead of isLive in leak reporting. Otherwise, we report leaks for objects we loose track of. This change triggered change #1. This also adds checker specific dump to the state. Differential Revision: https://reviews.llvm.org/D28330 llvm-svn: 291866
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunctionPass.cpp')
0 files changed, 0 insertions, 0 deletions