From e1dba290cc8f230c10b4f5adc521a70e104eb566 Mon Sep 17 00:00:00 2001 From: Alexander Popov Date: Wed, 12 Jul 2023 19:29:19 +0300 Subject: [PATCH] Precise the regular expressions in detect_arch() and detect_kernel_version() And fix the wording in the error message by the way. --- kconfig_hardened_check/__init__.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kconfig_hardened_check/__init__.py b/kconfig_hardened_check/__init__.py index 572ed0a..255174a 100644 --- a/kconfig_hardened_check/__init__.py +++ b/kconfig_hardened_check/__init__.py @@ -31,7 +31,7 @@ def _open(file: str, *args, **kwargs): def detect_arch(fname, archs): with _open(fname, 'rt', encoding='utf-8') as f: - arch_pattern = re.compile("CONFIG_[a-zA-Z0-9_]*=y") + arch_pattern = re.compile("CONFIG_[a-zA-Z0-9_]+=y$") arch = None for line in f.readlines(): if arch_pattern.match(line): @@ -40,7 +40,7 @@ def detect_arch(fname, archs): if arch is None: arch = option else: - return None, 'more than one supported microarchitecture is detected' + return None, 'detected more than one microarchitecture' if arch is None: return None, 'failed to detect microarchitecture' return arch, 'OK' @@ -48,7 +48,7 @@ def detect_arch(fname, archs): def detect_kernel_version(fname): with _open(fname, 'rt', encoding='utf-8') as f: - ver_pattern = re.compile("# Linux/.* Kernel Configuration") + ver_pattern = re.compile("# Linux/.+ Kernel Configuration$") for line in f.readlines(): if ver_pattern.match(line): line = line.strip() -- 2.31.1