diff --git a/slither/detectors/variables/similar_variables.py b/slither/detectors/variables/similar_variables.py index 465e1ce01d..9f8eaaa2d5 100644 --- a/slither/detectors/variables/similar_variables.py +++ b/slither/detectors/variables/similar_variables.py @@ -65,12 +65,16 @@ def detect_sim(contract: Contract) -> Set[Tuple[LocalVariable, LocalVariable]]: contract_var = contract.variables - all_var = set(all_var + contract_var) + all_var = list(set(all_var + contract_var)) ret = [] - for v1 in all_var: - for v2 in all_var: - if v1.name.lower() != v2.name.lower(): + # pylint: disable=consider-using-enumerate + for i in range(len(all_var)): + v1 = all_var[i] + _v1_name_lower = v1.name.lower() + for j in range(i, len(all_var)): + v2 = all_var[j] + if _v1_name_lower != v2.name.lower(): if SimilarVarsDetection.similar(v1.name, v2.name): if (v2, v1) not in ret: ret.append((v1, v2))