#5346: Preserve permissions of mbox, MMDF and Babyl mailbox files on flush()
diff --git a/Lib/mailbox.py b/Lib/mailbox.py
index 73c43e2..8b00460 100644
--- a/Lib/mailbox.py
+++ b/Lib/mailbox.py
@@ -691,6 +691,9 @@
_sync_close(new_file)
# self._file is about to get replaced, so no need to sync.
self._file.close()
+ # Make sure the new file's mode is the same as the old file's
+ mode = os.stat(self._path).st_mode
+ os.chmod(new_file.name, mode)
try:
os.rename(new_file.name, self._path)
except OSError as e: