close fileobj before calling new_volume_handler
authorChristian Herdtweck <christian.herdtweck@intra2net.com>
Tue, 19 Jul 2016 10:54:36 +0000 (12:54 +0200)
committerChristian Herdtweck <christian.herdtweck@intra2net.com>
Fri, 12 Nov 2021 12:32:59 +0000 (13:32 +0100)
deltatar/tarfile.py

index 1bb56d3..fcb6dcc 100644 (file)
@@ -2740,9 +2740,9 @@ class TarFile(object):
                 tarinfo.volume_offset = tarinfo.size - source_size_left
                 self.volume_tarinfo = tarinfo
 
-                # the “new_volume_handler” is supposed to call .close() on the
-                # “fileobj” _Stream
-                self.new_volume_handler(self, self.base_name, self.volume_number)
+                # close current volume file (even if fileobj is external)
+                self.fileobj.close()
+
                 try:
                     if not self.new_volume_handler or\
                         not callable(self.new_volume_handler):