aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
diff options
context:
space:
mode:
authorDonĂ¡t Nagy <donat.nagy@ericsson.com>2025-09-11 17:57:22 +0200
committerGitHub <noreply@github.com>2025-09-11 17:57:22 +0200
commitb642e8bfbb89c45ea7073ba9db5d1e31a6542e3c (patch)
treeab0b0322f8241d8333881c5a33340c0b512810d3 /llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
parent3270d98641e29e25f7a34e42baf853c2816e25b0 (diff)
downloadllvm-b642e8bfbb89c45ea7073ba9db5d1e31a6542e3c.zip
llvm-b642e8bfbb89c45ea7073ba9db5d1e31a6542e3c.tar.gz
llvm-b642e8bfbb89c45ea7073ba9db5d1e31a6542e3c.tar.bz2
[analyzer] Improve messaging in security.VAList (#157846)
Previously the checker `security.VAList` only tracked the set of the inintialized `va_list` objects; this commit replaces this with a mapping that can distinguish the "uninitialized" `va_list` objects from the "already released" ones. Moreover, a new "unknown" state is introduced to replace the slightly hacky solutions that checked the `Symbolic` nature of the region. In addition to sligthly improving the messages, this commit also prepares the ground for a follow-up change that would introduce an "indeterminate" state (which needs `va_end` but cannot be otherwise used) to model the requirements of SEI CERT rule MSC39-C, which states: > The va_list may be passed as an argument to another function, but > calling va_arg() within that function causes the va_list to have an > indeterminate value in the calling function. As a result, attempting > to read variable arguments without reinitializing the va_list can have > unexpected behavior.
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp')
0 files changed, 0 insertions, 0 deletions