need to check whether _Stream has an _extfileobj, otherwise 2nd close will raise...
authorChristian Herdtweck <christian.herdtweck@intra2net.com>
Tue, 26 Jul 2016 07:58:59 +0000 (09:58 +0200)
committerChristian Herdtweck <christian.herdtweck@intra2net.com>
Thu, 12 Nov 2020 14:04:34 +0000 (15:04 +0100)
deltatar/tarfile.py

index b973881..d548f92 100644 (file)
@@ -2749,7 +2749,8 @@ class TarFile(object):
 
                 # close current volume file (even if fileobj is external)
                 self.fileobj.close()
-                if isinstance(self.fileobj, _Stream):
+                if isinstance(self.fileobj, _Stream) \
+                        and self.fileobj._extfileobj:
                     # _Stream.close() never closes external fileobj
                     self._dbg(3, 'closing _Stream\'s external fileobj')
                     self.fileobj.fileobj.close()