aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mitmproxy/command.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/mitmproxy/command.py b/mitmproxy/command.py
index bfec47e1..49cb959e 100644
--- a/mitmproxy/command.py
+++ b/mitmproxy/command.py
@@ -149,9 +149,10 @@ class CommandManager:
if not i.startswith("__"):
o = getattr(addon, i)
try:
- is_command = hasattr(o, "command_name")
+ # hasattr is not enough, see https://github.com/mitmproxy/mitmproxy/issues/3794
+ is_command = isinstance(getattr(o, "command_name", None), str)
except Exception:
- pass # hasattr may raise if o implements __getattr__.
+ pass # getattr may raise if o implements __getattr__.
else:
if is_command:
try: