[all-commits] [llvm/llvm-project] 2dc8cb: [SSAF] Close unsafe-buffer reachability over overr...
Balázs Benics via All-commits
all-commits at lists.llvm.org
Sat Sep 26 06:47:50 PDT 2026
Branch: refs/heads/users/steakhal/ssaf/virtual-method-family-closure
Home: https://github.com/llvm/llvm-project
Commit: 2dc8cb121e3f33287711c9b52363ea3ee94d0bf7
https://github.com/llvm/llvm-project/commit/2dc8cb121e3f33287711c9b52363ea3ee94d0bf7
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2026-09-26 (Sat, 26 Sep 2026)
Changed paths:
M clang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.cpp
M clang/unittests/ScalableStaticAnalysis/WholeProgramAnalysis/UnsafeBufferReachableAnalysisTest.cpp
Log Message:
-----------
[SSAF] Close unsafe-buffer reachability over override families
An unsafe pointer reaching one override's parameter is equally unsafe in every
sibling and base override of that method, because the call site picks the
target dynamically. Without closing over the families, reachability depended
on which override the extractor happened to see the flow through, so a fix
suggested for the base could be contradicted by a derived override.
- Mirroring is level-preserving: families relate slot entities, so a reachable
EPL propagates only to the same pointer level on its family members.
- Mirroring happens inside the pointer-flow search, so flows out of a mirrored
EPL are followed too.
- Type-constrained slots are never mirrored onto, so C3 still holds.
§4 of rdar://179151603
Assisted-By: claude
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