From 37bd9a51dcf0ec05cc9a4b87ccef9cb59821196f Mon Sep 17 00:00:00 2001 From: Yousefnezhad Date: Wed, 11 Jun 2025 11:18:19 +0330 Subject: [PATCH] Error regular expression --- plugins/modules/nfs_exports_info.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/plugins/modules/nfs_exports_info.py b/plugins/modules/nfs_exports_info.py index 22ad91e1e8..14de7a96a8 100644 --- a/plugins/modules/nfs_exports_info.py +++ b/plugins/modules/nfs_exports_info.py @@ -63,6 +63,10 @@ import re def get_exports(module, output_format, file_path="/etc/exports"): + + IP_ENTRY_PATTERN = re.compile(r'(\d+\.\d+\.\d+\.\d+)\(([^)]+)\)') + + try: exports_file_digest = module.digest_from_file(file_path, 'sha1') if exports_file_digest is None: @@ -90,7 +94,10 @@ def get_exports(module, output_format, file_path="/etc/exports"): folder = match.group(1) rest = match.group(2) - entries = re.findall(r'(\d+\.\d+\.\d+\.\d+)\(([^)]+)\)', rest) + + entries = IP_ENTRY_PATTERN.findall(rest) + + for ip, options_str in entries: options = options_str.split(',') @@ -112,6 +119,7 @@ def get_exports(module, output_format, file_path="/etc/exports"): } except Exception as e: + module.fail_json(msg="Error while processing exports: {}".format(e)) @@ -136,4 +144,4 @@ def main(): if __name__ == '__main__': main() -__all__ = ['get_exports'] +__all__ = ['get_exports'] \ No newline at end of file