diff options
author | Nirbheek Chauhan <nirbheek.chauhan@gmail.com> | 2016-04-18 01:21:25 +0530 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2016-04-17 22:51:25 +0300 |
commit | 8cd359acbb238447e9de7792544fbe613a807466 (patch) | |
tree | 5f4361d8a7a900e7ff9488a2d5a40bb29b223a9f | |
parent | 22f8824afb972b364b871bcdc9a5a2dbcbe4fae6 (diff) | |
download | meson-8cd359acbb238447e9de7792544fbe613a807466.zip meson-8cd359acbb238447e9de7792544fbe613a807466.tar.gz meson-8cd359acbb238447e9de7792544fbe613a807466.tar.bz2 |
Regex used for configuration data substitution was too broad (#520)
-rw-r--r-- | mesonbuild/mesonlib.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/mesonbuild/mesonlib.py b/mesonbuild/mesonlib.py index 2ac0932..fe831bd 100644 --- a/mesonbuild/mesonlib.py +++ b/mesonbuild/mesonlib.py @@ -252,7 +252,9 @@ def do_mesondefine(line, confdata): def do_conf_file(src, dst, confdata): data = open(src).readlines() - regex = re.compile('@(.*?)@') + # Only allow (a-z, A-Z, 0-9, _, -) as valid characters for a define + # Also allow escaping '@' with '\@' + regex = re.compile(r'[^\\]?@([-a-zA-Z0-9_]+)@') result = [] for line in data: if line.startswith('#mesondefine'): |