Commit 4b10b95aac4b5ddaf4460fabdb249195bfcb625b
1 parent
52af4559
xls_parser: close XlsFile after use
Showing
1 changed file
with
8 additions
and
2 deletions
oletools/xls_parser.py
| ... | ... | @@ -88,12 +88,18 @@ def is_xls(filename): |
| 88 | 88 | substream. |
| 89 | 89 | See also: oleid.OleID.check_excel |
| 90 | 90 | """ |
| 91 | + xls_file = None | |
| 91 | 92 | try: |
| 92 | - for stream in XlsFile(filename).iter_streams(): | |
| 93 | + xls_file = XlsFile(filename) | |
| 94 | + for stream in xls_file.iter_streams(): | |
| 93 | 95 | if isinstance(stream, WorkbookStream): |
| 94 | 96 | return True |
| 95 | 97 | except Exception: |
| 96 | - pass | |
| 98 | + logging.debug('Ignoring exception in is_xls, assume is not xls', | |
| 99 | + exc_info=True) | |
| 100 | + finally: | |
| 101 | + if xls_file is not None: | |
| 102 | + xls_file.close() | |
| 97 | 103 | return False |
| 98 | 104 | |
| 99 | 105 | ... | ... |