diff options
author | James Cammarata <jimi@sngx.net> | 2017-02-10 09:34:35 -0600 |
---|---|---|
committer | James Cammarata <jimi@sngx.net> | 2017-02-10 10:09:50 -0600 |
commit | 6176c95838271d56b3eb4a2024ce53471ded20f2 (patch) | |
tree | 9a18f996b32047a1c807b4a9e90f0b8a9c1f3b06 | |
parent | ef24d56c8f141708a857350fb3acae76784af5ea (diff) | |
download | ansible-6176c95838271d56b3eb4a2024ce53471ded20f2.tar.gz |
Also clean template data even if marked unsafe
Fixes #20568
(cherry picked from commit 86beb55a9041a92d0ab2f28ea7fe042997b8059f)
-rw-r--r-- | lib/ansible/template/__init__.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/ansible/template/__init__.py b/lib/ansible/template/__init__.py index 7e0c559707..43ef6549bc 100644 --- a/lib/ansible/template/__init__.py +++ b/lib/ansible/template/__init__.py @@ -274,7 +274,7 @@ class Templar: def _clean_data(self, orig_data): ''' remove jinja2 template tags from a string ''' - if not isinstance(orig_data, string_types) or hasattr(orig_data, '__ENCRYPTED__') or hasattr(orig_data, '__UNSAFE__'): + if not isinstance(orig_data, string_types) or hasattr(orig_data, '__ENCRYPTED__'): return orig_data with contextlib.closing(StringIO(orig_data)) as data: @@ -382,6 +382,7 @@ class Templar: overrides=overrides, disable_lookups=disable_lookups, ) + unsafe = hasattr(result, '__UNSAFE__') if convert_data and not self._no_type_regex.match(variable): # if this looks like a dictionary or list, convert it to such using the safe_eval method |