diff options
author | Michael Flanders <flanders.michaelk@gmail.com> | 2025-02-10 16:20:10 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-10 22:20:10 +0000 |
commit | 7ba3c55d91dcd7da5a5eb1c58225f648fb38b740 (patch) | |
tree | 5a2b2a0aa4356ba31e6ebf94c149a7137a15b907 /llvm/lib/CodeGen/MachineOperand.cpp | |
parent | b969726901b6e7e5e383f2f47e698efd2cfda364 (diff) | |
download | llvm-7ba3c55d91dcd7da5a5eb1c58225f648fb38b740.zip llvm-7ba3c55d91dcd7da5a5eb1c58225f648fb38b740.tar.gz llvm-7ba3c55d91dcd7da5a5eb1c58225f648fb38b740.tar.bz2 |
[analyzer] Remove some false negatives in StackAddrEscapeChecker (#125638)
Fixes https://github.com/llvm/llvm-project/issues/123459.
Previously, when the StackAddrEscapeChecker checked return values, it
did not scan into the structure of the return SVal. Now it does, and we
can catch some more false negatives that were already mocked out in the
tests in addition to those mentioned in
https://github.com/llvm/llvm-project/issues/123459.
The warning message at the moment for these newly caught leaks is not
great. I think they would be better if they had a better trace of why
and how the region leaks. If y'all are happy with these changes, I would
try to improve these warnings and work on normalizing this SVal checking
on the `checkEndFunction` side of the checker also.
Two of the stack address leak test cases now have two warnings, one
warning from return expression checking and another from`
checkEndFunction` `iterBindings` checking. For these two cases, I prefer
the warnings from the return expression checking, but I couldn't figure
out a way to drop the `checkEndFunction` without breaking other
`checkEndFunction` warnings that we do want. Thoughts here?
Diffstat (limited to 'llvm/lib/CodeGen/MachineOperand.cpp')
0 files changed, 0 insertions, 0 deletions