]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
Fix umask usage bit fiddling and use try finally blocks
authorDavid Stainton <dstainton415@gmail.com>
Tue, 8 Dec 2015 15:44:59 +0000 (17:44 +0200)
committerDavid Stainton <dstainton415@gmail.com>
Tue, 8 Dec 2015 15:44:59 +0000 (17:44 +0200)
src/allmydata/frontends/magic_folder.py

index e1fbff619e5546ed8df465d4472691b182c8c3e6..c22efaea5d36c416082fa108fccd684c1a0ab51f 100644 (file)
@@ -485,10 +485,12 @@ class WriteFileMixin(object):
         # ensure parent directory exists
         head, tail = os.path.split(abspath_u)
 
-        old_mask = os.umask(self._umask)
-        fileutil.make_dirs(head, ~ self._umask)
-        fileutil.write(replacement_path_u, file_contents)
-        os.umask(old_mask)
+        try:
+            old_mask = os.umask(self._umask)
+            fileutil.make_dirs(head, (~ self._umask) & 0777)
+            fileutil.write(replacement_path_u, file_contents)
+        finally:
+            os.umask(old_mask)
 
         os.utime(replacement_path_u, (now, now - self.FUDGE_SECONDS))
         if is_conflict: