aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2012-02-09 12:09:40 +1300
committerAldo Cortesi <aldo@nullcube.com>2012-02-09 12:09:40 +1300
commit46bd7808625543bb42d1c1f20ff5599b837d1ca8 (patch)
tree7e7a599bee26e28a0c33a317faf0acec9c67a099
parentd3dce8f9433c7e3c78821d4378911861f0a785bb (diff)
downloadmitmproxy-46bd7808625543bb42d1c1f20ff5599b837d1ca8.tar.gz
mitmproxy-46bd7808625543bb42d1c1f20ff5599b837d1ca8.tar.bz2
mitmproxy-46bd7808625543bb42d1c1f20ff5599b837d1ca8.zip
Gracefully handle invalid data format passed to -r flag.
-rw-r--r--libmproxy/console/__init__.py5
-rw-r--r--libmproxy/dump.py5
2 files changed, 8 insertions, 2 deletions
diff --git a/libmproxy/console/__init__.py b/libmproxy/console/__init__.py
index 608742a4..76968ae5 100644
--- a/libmproxy/console/__init__.py
+++ b/libmproxy/console/__init__.py
@@ -640,7 +640,10 @@ class ConsoleMaster(flow.FlowMaster):
fr = flow.FlowReader(f)
except IOError, v:
return v.strerror
- flow.FlowMaster.load_flows(self, fr)
+ try:
+ flow.FlowMaster.load_flows(self, fr)
+ except flow.FlowReadError, v:
+ return v.strerror
f.close()
if self.conn_list_view:
self.sync_list_view()
diff --git a/libmproxy/dump.py b/libmproxy/dump.py
index 2ad88cfc..d71aed42 100644
--- a/libmproxy/dump.py
+++ b/libmproxy/dump.py
@@ -103,7 +103,10 @@ class DumpMaster(flow.FlowMaster):
freader = flow.FlowReader(f)
except IOError, v:
raise DumpError(v.strerror)
- self.load_flows(freader)
+ try:
+ self.load_flows(freader)
+ except flow.FlowReadError, v:
+ raise DumpError(v)
def _readflow(self, path):