From c9dc185351b1aaa95d631cb262e4e0d33d2791b4 Mon Sep 17 00:00:00 2001 From: jvoisin <julien.voisin@dustri.org> Date: Sun, 15 Dec 2019 22:18:52 +0100 Subject: [PATCH] Improve a bit the robustness of archive-based parsers --- libmat2/archive.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libmat2/archive.py b/libmat2/archive.py index de80a35..478e1ed 100644 --- a/libmat2/archive.py +++ b/libmat2/archive.py @@ -123,6 +123,9 @@ class ArchiveBasedAbstractParser(abstract.AbstractParser): local_meta = self._get_member_meta(item) member_name = self._get_member_name(item) + if not member_name: # pragma: no cover + continue # don't keep nameless files + if member_name[-1] == '/': # pragma: no cover # `is_dir` is added in Python3.6 continue # don't keep empty folders @@ -168,6 +171,8 @@ class ArchiveBasedAbstractParser(abstract.AbstractParser): # we're iterating (and thus inserting) them in lexicographic order. for item in items: member_name = self._get_member_name(item) + if not member_name: # pragma: no cover + continue # don't keep nameless files if member_name[-1] == '/': # `is_dir` is added in Python3.6 continue # don't keep empty folders -- GitLab