diff options
author | Brian Coca <bcoca@users.noreply.github.com> | 2023-02-16 11:38:52 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-16 10:38:52 -0600 |
commit | 58d66a756801c444ba7252b81efa67658462068d (patch) | |
tree | f7d15c78fc099502988b4426eeb11eff75542bf0 /lib | |
parent | 02d9336b320c39de652667069b7ecadd8ed36fc9 (diff) | |
download | ansible-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__.py | 6 |
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)) |