Commit 217d6114fd903fa670b8c67bcf7983b653fe518f

Authored by Christian Herdtweck
1 parent de9f5e91

record_base: ensure streams are closed in iter_streams

Showing 1 changed file with 6 additions and 4 deletions
oletools/record_base.py
@@ -145,10 +145,12 @@ class OleRecordFile(olefile.OleFileIO): @@ -145,10 +145,12 @@ class OleRecordFile(olefile.OleFileIO):
145 clz = OleSummaryInformationStream 145 clz = OleSummaryInformationStream
146 else: 146 else:
147 clz = self.stream_class_for_name(direntry.name) 147 clz = self.stream_class_for_name(direntry.name)
148 - yield clz(self._open(direntry.isectStart, direntry.size),  
149 - direntry.size,  
150 - None if is_orphan else direntry.name,  
151 - direntry.entry_type) 148 + stream = clz(self._open(direntry.isectStart, direntry.size),
  149 + direntry.size,
  150 + None if is_orphan else direntry.name,
  151 + direntry.entry_type)
  152 + yield stream
  153 + stream.close()
152 154
153 155
154 class OleRecordStream(object): 156 class OleRecordStream(object):