summaryrefslogtreecommitdiff
path: root/distbuild/jm.py
diff options
context:
space:
mode:
authorLauren Perry <lauren.perry@codethink.co.uk>2015-01-20 11:48:05 +0000
committerLauren Perry <lauren.perry@codethink.co.uk>2015-02-09 16:01:20 +0000
commit0563ed23dedd5dc8422e2407b01ca5ade040f051 (patch)
treee483d381723ab9c50d7f86d98fecd29909331189 /distbuild/jm.py
parentf0c5d4c0ef35cc43aa059cd2255e41c60c4cac77 (diff)
downloadmorph-0563ed23dedd5dc8422e2407b01ca5ade040f051.tar.gz
Fix distbuild controller crashing on some invalid inputs
Diffstat (limited to 'distbuild/jm.py')
-rw-r--r--distbuild/jm.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/distbuild/jm.py b/distbuild/jm.py
index 615100e4..ebdcfbf8 100644
--- a/distbuild/jm.py
+++ b/distbuild/jm.py
@@ -109,8 +109,13 @@ class JsonMachine(StateMachine):
line = line.rstrip()
if self.debug_json:
logging.debug('JsonMachine: line: %s' % repr(line))
- msg = yaml.load(json.loads(line))
- self.mainloop.queue_event(self, JsonNewMessage(msg))
+ msg = None
+ try:
+ msg = yaml.safe_load(json.loads(line))
+ except Exception:
+ logging.error('Invalid input: %s' % line)
+ if msg:
+ self.mainloop.queue_event(self, JsonNewMessage(msg))
def _send_eof(self, event_source, event):
self.mainloop.queue_event(self, JsonEof())