From 2b1a1a2a3884efb3f8f49070a9d5e488f082ac10 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 13 Nov 2019 14:45:34 +0100 Subject: [PATCH] misra.py: Fix mutable default argument in "misra_17_2()" (#2355) PyCharm inspection warns for argument `visited=set()` with "Default argument is mutable". According to different sources one should nearly never use mutable default arguments: https://docs.python-guide.org/writing/gotchas/#mutable-default-arguments https://dev.to/florimondmanca/python-mutable-defaults-are-the-source-of-all-evil-6kk --- addons/misra.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/misra.py b/addons/misra.py index a542dcaac..f5d27a4d8 100755 --- a/addons/misra.py +++ b/addons/misra.py @@ -1645,7 +1645,9 @@ class MisraChecker: def misra_17_2(self, data): # find recursions.. - def find_recursive_call(search_for_function, direct_call, calls_map, visited=set()): + def find_recursive_call(search_for_function, direct_call, calls_map, visited=None): + if visited is None: + visited = set() if direct_call == search_for_function: return True for indirect_call in calls_map.get(direct_call, []):