TarFile.__init__() no longer fails if no name argument is passed and
the fileobj argument has no usable name attribute (e.g. StringIO).

(will backport to 2.5)
diff --git a/Lib/tarfile.py b/Lib/tarfile.py
index 1ab13f0..ee9922c 100644
--- a/Lib/tarfile.py
+++ b/Lib/tarfile.py
@@ -1522,7 +1522,7 @@
             if hasattr(fileobj, "mode"):
                 self._mode = fileobj.mode
             self._extfileobj = True
-        self.name = os.path.abspath(name)
+        self.name = os.path.abspath(name) if name else None
         self.fileobj = fileobj
 
         # Init attributes.