sshserver: Don't try to close fp if mkstemp failed
authorThomas Arendsen Hein <thomas@intevation.de>
Wed, 23 Apr 2008 11:40:33 +0200
changeset 6678 1eba8e8f2cce
parent 6669 782dbbdfb1d7
child 6679 d286ec1bdcff
child 6683 76fc270561d1
sshserver: Don't try to close fp if mkstemp failed
mercurial/sshserver.py
--- a/mercurial/sshserver.py	Fri Jun 13 12:33:40 2008 +0200
+++ b/mercurial/sshserver.py	Wed Apr 23 11:40:33 2008 +0200
@@ -167,7 +167,7 @@
         self.respond('')
 
         # write bundle data to temporary file because it can be big
-
+        tempname = fp = None
         try:
             fd, tempname = tempfile.mkstemp(prefix='hg-unbundle-')
             fp = os.fdopen(fd, 'wb+')
@@ -198,8 +198,10 @@
                     self.lock.release()
                     self.lock = None
         finally:
-            fp.close()
-            os.unlink(tempname)
+            if fp is not None:
+                fp.close()
+            if tempname is not None:
+                os.unlink(tempname)
 
     def do_stream_out(self):
         streamclone.stream_out(self.repo, self.fout)