From dc31b6cf554b0267e4bd6fdf69e99a1345a509b1 Mon Sep 17 00:00:00 2001 From: shiftyphil Date: Wed, 19 Jun 2024 00:00:09 +1000 Subject: [PATCH] service_facts on OpenBSD: Don't crash on '=' in rcctl flags. (#83458) Splitting on all '=' characters produced too many values. --- .../83457-service_facts-openbsd-dont-crash-in-equals.yml | 2 ++ lib/ansible/modules/service_facts.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 changelogs/fragments/83457-service_facts-openbsd-dont-crash-in-equals.yml diff --git a/changelogs/fragments/83457-service_facts-openbsd-dont-crash-in-equals.yml b/changelogs/fragments/83457-service_facts-openbsd-dont-crash-in-equals.yml new file mode 100644 index 00000000000..fc711ce390b --- /dev/null +++ b/changelogs/fragments/83457-service_facts-openbsd-dont-crash-in-equals.yml @@ -0,0 +1,2 @@ +bugfixes: + - service_facts - don't crash if OpenBSD rcctl variable contains '=' character (https://github.com/ansible/ansible/issues/83457) diff --git a/lib/ansible/modules/service_facts.py b/lib/ansible/modules/service_facts.py index c15533b1bb0..5be5119bd26 100644 --- a/lib/ansible/modules/service_facts.py +++ b/lib/ansible/modules/service_facts.py @@ -377,7 +377,7 @@ class OpenBSDScanService(BaseService): if variable == '' or '=' not in variable: continue else: - k, v = variable.replace(undy, '', 1).split('=') + k, v = variable.replace(undy, '', 1).split('=', 1) info[k] = v return info