From aaea1b352b6ccfd68042cf54580363adb913f999 Mon Sep 17 00:00:00 2001 From: Christian Herdtweck Date: Tue, 26 Jul 2016 09:58:59 +0200 Subject: [PATCH] need to check whether _Stream has an _extfileobj, otherwise 2nd close will raise OSError --- deltatar/tarfile.py | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/deltatar/tarfile.py b/deltatar/tarfile.py index b973881..d548f92 100644 --- a/deltatar/tarfile.py +++ b/deltatar/tarfile.py @@ -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() -- 1.7.1