aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2023-08-06 13:15:12 -0400
committerNirbheek Chauhan <nirbheek@centricular.com>2023-08-08 02:09:00 +0530
commita3d5ec0f2e68da50624a2584a549c6b07a9cc915 (patch)
tree848600fb92414ff798e4ea7ec05a00a0b5e2cbb9
parent8f6fdb72fd099af1290953ccc272d80794d37bc3 (diff)
downloadmeson-a3d5ec0f2e68da50624a2584a549c6b07a9cc915.zip
meson-a3d5ec0f2e68da50624a2584a549c6b07a9cc915.tar.gz
meson-a3d5ec0f2e68da50624a2584a549c6b07a9cc915.tar.bz2
machine file: Fix crash on empty value
Fixes: #12025
-rw-r--r--mesonbuild/coredata.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
index 2c7c39e..1c031c2 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