summaryrefslogtreecommitdiff
path: root/lisp/gnus/gnus-uu.el
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2020-02-19 13:47:57 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2020-02-19 13:48:27 -0800
commit734eb7e457da8a9b2c91798d591c03285c6967ce (patch)
treec8d8dc92d4af164c895d73de29e3d548385cff3c /lisp/gnus/gnus-uu.el
parent4b118bdca1d8aa130fb67eadb16e08e87e698aa4 (diff)
downloademacs-734eb7e457da8a9b2c91798d591c03285c6967ce.tar.gz
emacs-734eb7e457da8a9b2c91798d591c03285c6967ce.tar.bz2
emacs-734eb7e457da8a9b2c91798d591c03285c6967ce.zip
Fix some file-modes races
* lisp/gnus/gnus-start.el (gnus-save-newsrc-file) (gnus-slave-save-newsrc): * lisp/gnus/gnus-uu.el (gnus-uu-initialize): * lisp/gnus/mm-archive.el (mm-dissect-archive): * lisp/gnus/mm-decode.el (mm-temp-files-delete) (mm-display-external): * lisp/image-dired.el (image-dired-create-thumb-1): Use with-file-modes rather than setting the file modes later. This fixes some race conditions where the file temporarily has the wrong permissions.
Diffstat (limited to 'lisp/gnus/gnus-uu.el')
-rw-r--r--lisp/gnus/gnus-uu.el4
1 files changed, 2 insertions, 2 deletions
diff --git a/lisp/gnus/gnus-uu.el b/lisp/gnus/gnus-uu.el
index d40ba9cef42..4037221f496 100644
--- a/lisp/gnus/gnus-uu.el
+++ b/lisp/gnus/gnus-uu.el
@@ -1781,8 +1781,8 @@ Gnus might fail to display all of it.")
gnus-uu-tmp-dir)))
(setq gnus-uu-work-dir
- (make-temp-file (concat gnus-uu-tmp-dir "gnus") 'dir))
- (gnus-set-file-modes gnus-uu-work-dir 448)
+ (with-file-modes #o700
+ (make-temp-file (concat gnus-uu-tmp-dir "gnus") 'dir)))
(setq gnus-uu-work-dir (file-name-as-directory gnus-uu-work-dir))
(push (cons gnus-newsgroup-name gnus-uu-work-dir)
gnus-uu-tmp-alist))))