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)); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits