diff --git a/lib/ansible/module_utils/basic.py b/lib/ansible/module_utils/basic.py index 8d5963a1f0..c63cb7c84a 100644 --- a/lib/ansible/module_utils/basic.py +++ b/lib/ansible/module_utils/basic.py @@ -890,6 +890,10 @@ class AnsibleModule(object): msg="mode must be in octal or symbolic form", details=str(e)) + if mode != stat.S_IMODE(mode): + # prevent mode from having extra info orbeing invalid long number + self.fail_json(path=path, msg="Invalid mode supplied", details=str(e)) + prev_mode = stat.S_IMODE(path_stat.st_mode) if prev_mode != mode: