From 60eacc78f69473e91d1559da18a155b080d6a7a5 Mon Sep 17 00:00:00 2001 From: Mathieu Comandon Date: Tue, 9 Oct 2018 00:00:23 -0700 Subject: [PATCH] Do not parse registry lines that are too short and do not crash on invalid lines (Fixes #1168) --- lutris/util/wineregistry.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lutris/util/wineregistry.py b/lutris/util/wineregistry.py index bab0e2c8a..fb146661f 100644 --- a/lutris/util/wineregistry.py +++ b/lutris/util/wineregistry.py @@ -217,6 +217,11 @@ class WineRegistryKey(object): return "{0} {1}".format(self.raw_name, self.raw_timestamp) def parse(self, line): + """Parse a registry line, populating meta and subkeys""" + if len(line) < 4: + # Line is too short, nothing to parse + return + if line.startswith('#'): self.add_meta(line) elif line.startswith('"'): @@ -224,12 +229,13 @@ class WineRegistryKey(object): key, value = re.split(re.compile(r"(?