From 2d90f50eebb0e6f1857c520427350c99fc567745 Mon Sep 17 00:00:00 2001 From: Abhijeet Kasurde Date: Tue, 3 Apr 2018 04:39:39 +0530 Subject: [PATCH] git_config: add quotes in complex value (#38168) This fix adds quotes to complex values of git config keys. Fixes: #20954 Signed-off-by: Abhijeet Kasurde --- lib/ansible/modules/source_control/git_config.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/ansible/modules/source_control/git_config.py b/lib/ansible/modules/source_control/git_config.py index a19d69fba94..cd49e16da3b 100644 --- a/lib/ansible/modules/source_control/git_config.py +++ b/lib/ansible/modules/source_control/git_config.py @@ -139,6 +139,7 @@ config_values: alias.remotev: "remote -v" ''' from ansible.module_utils.basic import AnsibleModule +from ansible.module_utils.six.moves import shlex_quote def main(): @@ -219,10 +220,12 @@ def main(): module.exit_json(changed=False, msg="") if not module.check_mode: - new_value_quoted = "'" + new_value + "'" - (rc, out, err) = module.run_command(' '.join(args + [new_value_quoted]), cwd=dir) + new_value_quoted = shlex_quote(new_value) + cmd = ' '.join(args + [new_value_quoted]) + (rc, out, err) = module.run_command(cmd, cwd=dir) if err: - module.fail_json(rc=rc, msg=err, cmd=' '.join(args + [new_value_quoted])) + module.fail_json(rc=rc, msg=err, cmd=cmd) + module.exit_json( msg='setting changed', diff=dict(