From bc1c2cf009e30af77523fd87a8910fdbc4284704 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 16 Sep 2019 17:43:56 -0700 Subject: Fix some file-mode races * lisp/emacs-lisp/autoload.el (autoload-ensure-file-writeable): * lisp/files.el (after-find-file): * lisp/gnus/gnus-start.el (gnus-dribble-read-file): * lisp/htmlfontify.el (hfy-copy-and-fontify-file): * lisp/server.el (server-ensure-safe-dir): Avoid a race when getting file permissions. --- lisp/emacs-lisp/autoload.el | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'lisp/emacs-lisp/autoload.el') diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el index a2dbd402c52..ce2827162b9 100644 --- a/lisp/emacs-lisp/autoload.el +++ b/lisp/emacs-lisp/autoload.el @@ -398,9 +398,8 @@ FILE's name." ;; Probably pointless, but replaces the old AUTOGEN_VCS in lisp/Makefile, ;; which was designed to handle CVSREAD=1 and equivalent. (and autoload-ensure-writable - (file-exists-p file) (let ((modes (file-modes file))) - (if (zerop (logand modes #o0200)) + (if (and modes (zerop (logand modes #o0200))) ;; Ignore any errors here, and let subsequent attempts ;; to write the file raise any real error. (ignore-errors (set-file-modes file (logior modes #o0200)))))) -- cgit v1.2.3