diff --git a/CHANGES.md b/CHANGES.md index cfa8c663..cae3493b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -177,6 +177,7 @@ * Fix allow propers to pp when show marked upgrade once * Fix never set episodes without airdate to wanted * Change improve getting the local timezone information +* Change hachoir_parser to close input stream if no parser is found e.g. due to file corruption [develop changelog] * Change send nzb data to NZBGet for Anizb instead of url diff --git a/HACKS.txt b/HACKS.txt index 0dbc4ee7..f9a7db8a 100644 --- a/HACKS.txt +++ b/HACKS.txt @@ -4,6 +4,7 @@ Libs with customisations... /lib/dateutil/zoneinfo/__init__.py /lib/hachoir_core/config.py /lib/hachoir_core/stream/input_helpers.py +/lib/hachoir_parser/guess.py /lib/lockfile/mkdirlockfile.py /lib/pynma/pynma.py /lib/requests/packages/urllib3/connectionpool.py diff --git a/lib/hachoir_parser/guess.py b/lib/hachoir_parser/guess.py index 758cec65..b20ba536 100644 --- a/lib/hachoir_parser/guess.py +++ b/lib/hachoir_parser/guess.py @@ -91,6 +91,11 @@ class QueryParser(object): parser = self.doparse(stream, fallback) if parser is not None: stream._cached_parser = weakref.ref(parser) + else: + try: + stream._input.close() + except: + pass return parser def doparse(self, stream, fallback=True):