diff --git a/pwnagotchi/utils.py b/pwnagotchi/utils.py index c474ae2..7c374e3 100644 --- a/pwnagotchi/utils.py +++ b/pwnagotchi/utils.py @@ -65,12 +65,16 @@ def load_config(args): config = yaml.safe_load(fp) # load the user config - if os.path.exists(args.user_config): - with open(args.user_config) as fp: - user_config = yaml.safe_load(fp) - # if the file is empty, safe_load will return None and merge_config will boom. - if user_config: - config = merge_config(user_config, config) + try: + if os.path.exists(args.user_config): + with open(args.user_config) as fp: + user_config = yaml.safe_load(fp) + # if the file is empty, safe_load will return None and merge_config will boom. + if user_config: + config = merge_config(user_config, config) + except yaml.YAMLError as ex: + print("There was an error processing the configuration file:\n%s " % ex) + exit(1) # the very first step is to normalize the display name so we don't need dozens of if/elif around if config['ui']['display']['type'] in ('inky', 'inkyphat'):