From e5fcee02c5562aa5f2fc3e9ba0cc5faa77e8f374 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Sat, 5 Mar 2022 14:49:12 -0300 Subject: [PATCH] Improve DOS filename sanitization pattern --- biostools/extractors.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/biostools/extractors.py b/biostools/extractors.py index 54ed460..2e7e61f 100644 --- a/biostools/extractors.py +++ b/biostools/extractors.py @@ -1538,7 +1538,7 @@ class VMExtractor(ArchiveExtractor): self._eti_pattern = re.compile(b'''[0-9\\.\\x00]{10}[0-9]{2}/[0-9]{2}/[0-9]{2}\\x00{2}[0-9]{2}:[0-9]{2}:[0-9]{2}\\x00{3}''') # Filename sanitization pattern. - self._dos_fn_pattern = re.compile('''[\\/:]''') + self._dos_fn_pattern = re.compile('''[\\x00-\\x1F\\x7F-\\xFF\\\\/:\\*\\?"<>\\|]''') # /dev/null handle for suppressing output. self._devnull = open(os.devnull, 'wb') @@ -1745,7 +1745,7 @@ class VMExtractor(ArchiveExtractor): # Establish dependencies. deps = ( - (os.path.join(self._dep_dir, 'INSTL2O.EXE'), 'INSTL2O.EXE'), # DOS-invalid filename on purpose, avoids conflicts + (os.path.join(self._dep_dir, 'INSTL2O.EXE'), 'INSTL2O.EXE'), (os.path.join(self._dep_dir, 'freedos.img'), 'freedos.img') )