diff options
author | Michael Scherer <misc@ephaone.org> | 2014-09-29 18:02:42 -0400 |
---|---|---|
committer | James Cammarata <jimi@sngx.net> | 2015-02-17 14:34:55 -0600 |
commit | e8c7e783d58e63b1517176b7abccd1073b501a9d (patch) | |
tree | 47b2e6c84e5ccdd39e30d38fac0314cae2731e1c | |
parent | 6fab3e83a2260e1ffa95df98c2d0cb37e0df2adf (diff) | |
download | ansible-modules-core-e8c7e783d58e63b1517176b7abccd1073b501a9d.tar.gz |
Fix old ticket #9092 where a playbook can enter in recursion
This can be tested with this command :
ansible -c local -m copy -a 'src=/etc/group dest=foo/' all
This is a corner case of the algorithm used to find how we should
copy recursively a folder, and this commit detect it and avoid it.
Check https://github.com/ansible/ansible/issues/9092 for the story
-rw-r--r-- | files/copy.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/files/copy.py b/files/copy.py index ab480bec..c5aaa01b 100644 --- a/files/copy.py +++ b/files/copy.py @@ -181,7 +181,7 @@ def main(): if original_basename and dest.endswith("/"): dest = os.path.join(dest, original_basename) dirname = os.path.dirname(dest) - if not os.path.exists(dirname): + if not os.path.exists(dirname) and '/' in dirname: (pre_existing_dir, new_directory_list) = split_pre_existing_dir(dirname) os.makedirs(dirname) directory_args = module.load_file_common_arguments(module.params) |