aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/coredata.py
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2023-08-06 13:15:12 -0400
committerEli Schwartz <eschwartz93@gmail.com>2023-08-07 12:58:24 -0400
commit142dd17f5b7fbc4b2cd94f2af5bde1edfdb135be (patch)
treeb9c1aa7c8f34f06c368d384b601fb152c6d4e20e /mesonbuild/coredata.py
parent926c3a69195385bd5c16acd269f4dae5322e0c03 (diff)
downloadmeson-142dd17f5b7fbc4b2cd94f2af5bde1edfdb135be.zip
meson-142dd17f5b7fbc4b2cd94f2af5bde1edfdb135be.tar.gz
meson-142dd17f5b7fbc4b2cd94f2af5bde1edfdb135be.tar.bz2
machine file: Fix crash on empty value
Fixes: #12025
Diffstat (limited to 'mesonbuild/coredata.py')
-rw-r--r--mesonbuild/coredata.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
index 54d9b1d..e930dff 100644
--- a/mesonbuild/coredata.py
+++ b/mesonbuild/coredata.py
@@ -992,9 +992,11 @@ class MachineFileParser():
value = value.replace('\\', '\\\\')
try:
ast = mparser.Parser(value, 'machinefile').parse()
+ if not ast.lines:
+ raise EnvironmentException('value cannot be empty')
res = self._evaluate_statement(ast.lines[0])
- except MesonException:
- raise EnvironmentException(f'Malformed value in machine file variable {entry!r}.')
+ except MesonException as e:
+ raise EnvironmentException(f'Malformed value in machine file variable {entry!r}: {str(e)}.')
except KeyError as e:
raise EnvironmentException(f'Undefined constant {e.args[0]!r} in machine file variable {entry!r}.')
section[entry] = res