[all-commits] [llvm/llvm-project] e5ac91: [analyzer][taint] Recognize tainted LazyCompoundVa...

Balazs Benics via All-commits all-commits at lists.llvm.org
Fri Nov 15 01:56:26 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e5ac9145ba2951b6454b13499f375284bdbde689
      https://github.com/llvm/llvm-project/commit/e5ac9145ba2951b6454b13499f375284bdbde689
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-11-15 (Fri, 15 Nov 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
    M clang/test/Analysis/taint-generic.cpp

  Log Message:
  -----------
  [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



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list