From bd1560ae507810cde6b3e5a6e2eed935c857cec8 Mon Sep 17 00:00:00 2001 From: Julien Duponchelle Date: Thu, 8 Dec 2016 10:52:21 +0100 Subject: [PATCH] Fix error when controller config file is corrupted Fix #812 --- gns3server/controller/__init__.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gns3server/controller/__init__.py b/gns3server/controller/__init__.py index a93d94bc..5b5b6bed 100644 --- a/gns3server/controller/__init__.py +++ b/gns3server/controller/__init__.py @@ -121,16 +121,16 @@ class Controller: """ Reload the controller configuration from disk """ - - if not os.path.exists(self._config_file): - yield from self._import_gns3_gui_conf() - self.save() try: + if not os.path.exists(self._config_file): + yield from self._import_gns3_gui_conf() + self.save() with open(self._config_file) as f: data = json.load(f) - except OSError as e: + except (OSError, json.JSONDecodeError) as e: log.critical("Cannot load %s: %s", self._config_file, str(e)) return + if "settings" in data: self._settings = data["settings"] if "gns3vm" in data: