From 4e55759144535c6e58df37bc4c6ea67b26531d97 Mon Sep 17 00:00:00 2001 From: Bhargava Shastry Date: Tue, 7 Jul 2020 17:42:00 +0200 Subject: [PATCH] yul: Add optimizer exception to check that duplicate variable references do not occur on the LHS of a multi variable assignment statement --- libyul/optimiser/DataFlowAnalyzer.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/libyul/optimiser/DataFlowAnalyzer.cpp b/libyul/optimiser/DataFlowAnalyzer.cpp index 6755500b3..2bf72a734 100644 --- a/libyul/optimiser/DataFlowAnalyzer.cpp +++ b/libyul/optimiser/DataFlowAnalyzer.cpp @@ -79,6 +79,7 @@ void DataFlowAnalyzer::operator()(Assignment& _assignment) set names; for (auto const& var: _assignment.variableNames) names.emplace(var.name); + assertThrow(names.size() == _assignment.variableNames.size(), OptimizerException, ""); assertThrow(_assignment.value, OptimizerException, ""); clearKnowledgeIfInvalidated(*_assignment.value); visit(*_assignment.value);