diff options
author | Balazs Benics <benicsbalazs@gmail.com> | 2024-11-15 10:56:04 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-15 10:56:04 +0100 |
commit | e5ac9145ba2951b6454b13499f375284bdbde689 (patch) | |
tree | cc7c74a0aeb03fb4bb1f350c1794e1e8508e053c /llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp | |
parent | 0dfae0676014ca961fa404fd40d609f58d935b63 (diff) | |
download | llvm-e5ac9145ba2951b6454b13499f375284bdbde689.zip llvm-e5ac9145ba2951b6454b13499f375284bdbde689.tar.gz llvm-e5ac9145ba2951b6454b13499f375284bdbde689.tar.bz2 |
[analyzer][taint] Recognize tainted LazyCompoundVals (4/4) (#115919)
returned by-value from opaque function calls.
If a struct is returned by-value from an opaque call, the "value" of the
whole struct is represented by a Conjured symbol.
Later fields may slice off smaller subregions by creating Derived
symbols of that Conjured symbol, but those are handled well, and
"isTainted" returns true as expected.
However, passing the whole struct to "isTainted" would be false, because
LazyCompoundVals and CompoundVals are not handled.
This patch addresses this.
Fixes #114270
Split from #114835
Diffstat (limited to 'llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions