summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBrian Coca <bcoca@users.noreply.github.com>2023-02-16 11:38:52 -0500
committerGitHub <noreply@github.com>2023-02-16 10:38:52 -0600
commit58d66a756801c444ba7252b81efa67658462068d (patch)
treef7d15c78fc099502988b4426eeb11eff75542bf0 /lib
parent02d9336b320c39de652667069b7ecadd8ed36fc9 (diff)
downloadansible-58d66a756801c444ba7252b81efa67658462068d.tar.gz
strategy fix invalid variables being registered (#79706) (#79818)
also added tests for normal and bad cases (cherry picked from commit 281474e809a0a76f6a045224d9051efda6e1f0ec)
Diffstat (limited to 'lib')
-rw-r--r--lib/ansible/plugins/strategy/__init__.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/ansible/plugins/strategy/__init__.py b/lib/ansible/plugins/strategy/__init__.py
index e3c4b02da6..5cc05ee3f3 100644
--- a/lib/ansible/plugins/strategy/__init__.py
+++ b/lib/ansible/plugins/strategy/__init__.py
@@ -54,7 +54,7 @@ from ansible.template import Templar
from ansible.utils.display import Display
from ansible.utils.fqcn import add_internal_fqcns
from ansible.utils.unsafe_proxy import wrap_var
-from ansible.utils.vars import combine_vars
+from ansible.utils.vars import combine_vars, isidentifier
from ansible.vars.clean import strip_internal_keys, module_response_deepcopy
display = Display()
@@ -750,6 +750,10 @@ class StrategyBase:
# register final results
if original_task.register:
+
+ if not isidentifier(original_task.register):
+ raise AnsibleError("Invalid variable name in 'register' specified: '%s'" % original_task.register)
+
host_list = self.get_task_hosts(iterator, original_host, original_task)
clean_copy = strip_internal_keys(module_response_deepcopy(task_result._result))