summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Cammarata <jimi@sngx.net>2017-02-10 09:34:35 -0600
committerJames Cammarata <jimi@sngx.net>2017-02-10 10:09:50 -0600
commit6176c95838271d56b3eb4a2024ce53471ded20f2 (patch)
tree9a18f996b32047a1c807b4a9e90f0b8a9c1f3b06
parentef24d56c8f141708a857350fb3acae76784af5ea (diff)
downloadansible-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__.py3
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