1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

ansible.utils to_unicode/to_bytes isn't robust in the face of

non-strings.  Do some value checking in the calling code
This commit is contained in:
Toshio Kuratomi 2015-01-27 14:18:06 -08:00
parent 418e24cc6c
commit 35321ec642

View file

@ -27,6 +27,7 @@ import fcntl
import constants import constants
import locale import locale
from ansible.color import stringc from ansible.color import stringc
from ansible.module_utils import basic
import logging import logging
if constants.DEFAULT_LOG_PATH != '': if constants.DEFAULT_LOG_PATH != '':
@ -456,8 +457,12 @@ class PlaybookRunnerCallbacks(DefaultRunnerCallbacks):
item = None item = None
if type(results) == dict: if type(results) == dict:
item = results.get('item', None) item = results.get('item', None)
if isinstance(item, unicode):
item = utils.to_bytes(item)
results = basic.json_dict_unicode_to_bytes(results)
else:
results = utils.to_bytes(results)
host = utils.to_bytes(host) host = utils.to_bytes(host)
results = utils.to_bytes(results)
if item: if item:
msg = "fatal: [%s] => (item=%s) => %s" % (host, item, results) msg = "fatal: [%s] => (item=%s) => %s" % (host, item, results)
else: else: