Function: doc-view-make-safe-dir
doc-view-make-safe-dir is a byte-compiled function defined in
doc-view.el.gz.
Signature
(doc-view-make-safe-dir DIR)
Source Code
;; Defined in /usr/src/emacs/lisp/doc-view.el.gz
(defun doc-view-make-safe-dir (dir)
(condition-case nil
;; Create temp files with strict access rights. It's easy to
;; loosen them later, whereas it's impossible to close the
;; time-window of loose permissions otherwise.
(with-file-modes #o0700 (make-directory dir))
(file-already-exists
;; In case it was created earlier with looser rights.
;; We could check the mode info returned by file-attributes, but it's
;; a pain to parse and it may not tell you what we want under
;; non-standard file-systems. So let's just say what we want and let
;; the underlying C code and file-system figure it out.
;; This also ends up checking a bunch of useful conditions: it makes
;; sure we have write-access to the directory and that we own it, thus
;; closing a bunch of security holes.
(condition-case error
(set-file-modes dir #o0700 'nofollow)
(file-error
(error
(format "Unable to use temporary directory %s: %s"
dir (mapconcat #'identity (cdr error) " "))))))))