[clang] 2be52f3 - [clang][dataflow] Fix uninitialized memory bug. (#154575)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Aug 20 10:36:45 PDT 2025
Author: Yitzhak Mandelbaum
Date: 2025-08-20T13:36:42-04:00
New Revision: 2be52f309e729cb315b9b60efbdb8e5c3f579905
URL: https://github.com/llvm/llvm-project/commit/2be52f309e729cb315b9b60efbdb8e5c3f579905
DIFF: https://github.com/llvm/llvm-project/commit/2be52f309e729cb315b9b60efbdb8e5c3f579905.diff
LOG: [clang][dataflow] Fix uninitialized memory bug. (#154575)
Commit #3ecfc03 introduced a bug involving an uninitialized field in
`exportLogicalContext`. This patch initializes the field properly.
Added:
Modified:
clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
Removed:
################################################################################
diff --git a/clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp b/clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
index 06a88784a6f94..4196d6821c184 100644
--- a/clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
+++ b/clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
@@ -285,10 +285,10 @@ SimpleLogicalContext DataflowAnalysisContext::exportLogicalContext(
llvm::DenseSet<dataflow::Atom> TargetTokens) const {
SimpleLogicalContext LC;
- if (Invariant != nullptr) {
- LC.Invariant = Invariant;
+ // Copy `Invariant` even if it is null, to initialize the field.
+ LC.Invariant = Invariant;
+ if (Invariant != nullptr)
getReferencedAtoms(*Invariant, TargetTokens);
- }
llvm::DenseSet<dataflow::Atom> Dependencies =
collectDependencies(std::move(TargetTokens));
More information about the cfe-commits
mailing list