From 53f8215d5609b14dff58280db9cd69210b373ee0 Mon Sep 17 00:00:00 2001 From: mvdbeek Date: Fri, 4 Dec 2020 18:24:59 +0100 Subject: [PATCH] Fix unclosed file descriptors returned by mkstemp --- .../converters/pbed_ldreduced_converter.py | 3 ++- lib/galaxy/datatypes/sniff.py | 1 + lib/galaxy/datatypes/util/maf_utilities.py | 5 ++--- lib/tool_shed/webapp/controllers/upload.py | 1 + tools/extract/liftOver_wrapper.py | 16 +++++++--------- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/lib/galaxy/datatypes/converters/pbed_ldreduced_converter.py b/lib/galaxy/datatypes/converters/pbed_ldreduced_converter.py index 571ee3f4c9a..f396921795f 100644 --- a/lib/galaxy/datatypes/converters/pbed_ldreduced_converter.py +++ b/lib/galaxy/datatypes/converters/pbed_ldreduced_converter.py @@ -34,7 +34,8 @@ def timenow(): def pruneLD(plinktasks=[], cd='./', vclbase=[]): """ """ - fplog, plog = tempfile.mkstemp() + fd, plog = tempfile.mkstemp() + os.close(fd) alog = [] alog.append('## Rgenetics: http://rgenetics.org Galaxy Tools rgQC.py Plink pruneLD runner\n') for task in plinktasks: # each is a list diff --git a/lib/galaxy/datatypes/sniff.py b/lib/galaxy/datatypes/sniff.py index 62fdb05031b..272042ece26 100644 --- a/lib/galaxy/datatypes/sniff.py +++ b/lib/galaxy/datatypes/sniff.py @@ -51,6 +51,7 @@ def stream_url_to_file(path, file_sources=None): if file_sources and file_sources.looks_like_uri(path): file_source_path = file_sources.get_file_source_path(path) _, temp_name = tempfile.mkstemp(prefix=prefix) + os.close(_) file_source_path.file_source.realize_to(file_source_path.path, temp_name) return temp_name else: diff --git a/lib/galaxy/datatypes/util/maf_utilities.py b/lib/galaxy/datatypes/util/maf_utilities.py index 0f800631482..b6e885cbef6 100644 --- a/lib/galaxy/datatypes/util/maf_utilities.py +++ b/lib/galaxy/datatypes/util/maf_utilities.py @@ -357,9 +357,8 @@ def build_maf_index(maf_file, species=None): indexes, found_species, species_chromosomes, blocks = build_maf_index_species_chromosomes(maf_file, species) if indexes is not None: fd, index_filename = tempfile.mkstemp() - out = os.fdopen(fd, 'w') - indexes.write(out) - out.close() + with os.fdopen(fd, 'w') as out: + indexes.write(out) return (bx.align.maf.Indexed(maf_file, index_filename=index_filename, keep_open=True, parse_e_rows=False), index_filename) return (None, None) diff --git a/lib/tool_shed/webapp/controllers/upload.py b/lib/tool_shed/webapp/controllers/upload.py index 07d6f524228..8aa11437d18 100644 --- a/lib/tool_shed/webapp/controllers/upload.py +++ b/lib/tool_shed/webapp/controllers/upload.py @@ -80,6 +80,7 @@ class UploadController(BaseUIController): uploaded_file = None if valid_url: fd, uploaded_file_name = tempfile.mkstemp() + os.close(fd) uploaded_file = open(uploaded_file_name, 'wb') for chunk in stream.iter_content(chunk_size=util.CHUNK_SIZE): if chunk: diff --git a/tools/extract/liftOver_wrapper.py b/tools/extract/liftOver_wrapper.py index 3f118a992b7..b025742dd20 100644 --- a/tools/extract/liftOver_wrapper.py +++ b/tools/extract/liftOver_wrapper.py @@ -25,15 +25,13 @@ def safe_bed_file(infile): https://lists.soe.ucsc.edu/pipermail/genome/2007-May/013561.html """ fix_pat = re.compile("^(track|browser)") - (fd, fname) = tempfile.mkstemp() - in_handle = open(infile) - out_handle = open(fname, "w") - for line in in_handle: - if fix_pat.match(line): - line = "#" + line - out_handle.write(line) - in_handle.close() - out_handle.close() + fd, fname = tempfile.mkstemp() + os.close(fd) + with open(infile) as in_handle, open(fname, 'w') as out_handle: + for line in in_handle: + if fix_pat.match(line): + line = "#" + line + out_handle.write(line) return fname