Avoid EOFError being passed to the caller (restoring the
old behavior).
diff --git a/Lib/tarfile.py b/Lib/tarfile.py
index 8e98dfa..508d88e 100644
--- a/Lib/tarfile.py
+++ b/Lib/tarfile.py
@@ -665,7 +665,10 @@
             raw = self.fileobj.read(self.blocksize)
             if not raw:
                 break
-            data = self.bz2obj.decompress(raw)
+            try:
+                data = self.bz2obj.decompress(raw)
+            except EOFError:
+                break
             b.append(data)
             x += len(data)
         self.buf = "".join(b)