tempfile.mkstemp() actually returns a file descriptor which should be closed. (#35263)

pull/35285/head
Felix Fontein 7 years ago committed by John R Barker
parent 798cd41b34
commit 0f17d74f0f

@ -315,12 +315,16 @@ def write_file(module, dest, content):
has changed. has changed.
''' '''
changed = False changed = False
# create a tempfile with some test content # create a tempfile
_, tmpsrc = tempfile.mkstemp() fd, tmpsrc = tempfile.mkstemp(text=False)
f = open(tmpsrc, 'wb') f = os.fdopen(fd, 'wb')
try: try:
f.write(content) f.write(content)
except Exception as err: except Exception as err:
try:
f.close()
except:
pass
os.remove(tmpsrc) os.remove(tmpsrc)
module.fail_json(msg="failed to create temporary content file: %s" % to_native(err), exception=traceback.format_exc()) module.fail_json(msg="failed to create temporary content file: %s" % to_native(err), exception=traceback.format_exc())
f.close() f.close()

Loading…
Cancel
Save