diff --git a/lib/ansible/plugins/lookup/lastpass.py b/lib/ansible/plugins/lookup/lastpass.py index 1faf9df5a91..02df58e3b5b 100644 --- a/lib/ansible/plugins/lookup/lastpass.py +++ b/lib/ansible/plugins/lookup/lastpass.py @@ -38,6 +38,7 @@ RETURN = """ from subprocess import Popen, PIPE from ansible.errors import AnsibleError +from ansible.module_utils._text import to_bytes, to_text from ansible.plugins.lookup import LookupBase @@ -61,11 +62,11 @@ class LPass(object): def _run(self, args, stdin=None, expected_rc=0): p = Popen([self.cli_path] + args, stdout=PIPE, stderr=PIPE, stdin=PIPE) - out, err = p.communicate(stdin) + out, err = p.communicate(to_bytes(stdin)) rc = p.wait() if rc != expected_rc: raise LPassException(err) - return out, err + return to_text(out, errors='surrogate_or_strict'), to_text(err, errors='surrogate_or_strict') def _build_args(self, command, args=None): if args is None: