aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy
diff options
context:
space:
mode:
authorHenrique <typoon@gmail.com>2019-11-13 10:17:07 -0500
committerHenrique <typoon@gmail.com>2019-11-13 10:17:07 -0500
commitaf7088d7f377ff32e2ff9ab197f6c899a835515d (patch)
treea38901ddecdedf46f56bedfd6cf88130e17b3b91 /mitmproxy
parent875adb2ba82bb6b94fec755d4f2ac9800066c47d (diff)
downloadmitmproxy-af7088d7f377ff32e2ff9ab197f6c899a835515d.tar.gz
mitmproxy-af7088d7f377ff32e2ff9ab197f6c899a835515d.tar.bz2
mitmproxy-af7088d7f377ff32e2ff9ab197f6c899a835515d.zip
Fixed issue introduced by change in the lexer that caused mitmproxy to
crash when pressing `:`.
Diffstat (limited to 'mitmproxy')
-rw-r--r--mitmproxy/tools/console/commander/commander.py35
1 files changed, 21 insertions, 14 deletions
diff --git a/mitmproxy/tools/console/commander/commander.py b/mitmproxy/tools/console/commander/commander.py
index 0c043081..ee31e1e9 100644
--- a/mitmproxy/tools/console/commander/commander.py
+++ b/mitmproxy/tools/console/commander/commander.py
@@ -89,21 +89,28 @@ class CommandBuffer:
"""
parts, remhelp = self.parse_quoted(self.text)
ret = []
- for p in parts:
- if p.valid:
- if p.type == mitmproxy.types.Cmd:
- ret.append(("commander_command", p.value))
- else:
- ret.append(("text", p.value))
- elif p.value:
- ret.append(("commander_invalid", p.value))
- else:
- ret.append(("text", ""))
- ret.append(("text", " "))
- if remhelp:
+ if parts == []:
+ # Means we just received the leader, so we need to give a blank
+ # text to the widget to render or it crashes
+ ret.append(("text", ""))
ret.append(("text", " "))
- for v in remhelp:
- ret.append(("commander_hint", "%s " % v))
+ else:
+ for p in parts:
+ if p.valid:
+ if p.type == mitmproxy.types.Cmd:
+ ret.append(("commander_command", p.value))
+ else:
+ ret.append(("text", p.value))
+ elif p.value:
+ ret.append(("commander_invalid", p.value))
+ else:
+ ret.append(("text", ""))
+ ret.append(("text", " "))
+ if remhelp:
+ ret.append(("text", " "))
+ for v in remhelp:
+ ret.append(("commander_hint", "%s " % v))
+
return ret
def flatten(self, txt):