Skip to content

Commit 2be52f3

Browse files
authored
[clang][dataflow] Fix uninitialized memory bug. (#154575)
Commit #3ecfc03 introduced a bug involving an uninitialized field in `exportLogicalContext`. This patch initializes the field properly.
1 parent d69ccde commit 2be52f3

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -285,10 +285,10 @@ SimpleLogicalContext DataflowAnalysisContext::exportLogicalContext(
285285
llvm::DenseSet<dataflow::Atom> TargetTokens) const {
286286
SimpleLogicalContext LC;
287287

288-
if (Invariant != nullptr) {
289-
LC.Invariant = Invariant;
288+
// Copy `Invariant` even if it is null, to initialize the field.
289+
LC.Invariant = Invariant;
290+
if (Invariant != nullptr)
290291
getReferencedAtoms(*Invariant, TargetTokens);
291-
}
292292

293293
llvm::DenseSet<dataflow::Atom> Dependencies =
294294
collectDependencies(std::move(TargetTokens));

0 commit comments

Comments
 (0)