diff options
Diffstat (limited to 'emacs/23.4/13_all_local-eval.patch')
-rw-r--r-- | emacs/23.4/13_all_local-eval.patch | 28 |
1 files changed, 0 insertions, 28 deletions
diff --git a/emacs/23.4/13_all_local-eval.patch b/emacs/23.4/13_all_local-eval.patch deleted file mode 100644 index 3753132..0000000 --- a/emacs/23.4/13_all_local-eval.patch +++ /dev/null @@ -1,28 +0,0 @@ -Fix security flaw in enable-local-eval. -http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00396.html -https://bugs.gentoo.org/431178 - ---- emacs-23.4-orig/lisp/files.el -+++ emacs-23.4/lisp/files.el -@@ -2986,11 +2986,16 @@ - ;; Obey `enable-local-eval'. - ((eq var 'eval) - (when enable-local-eval -- (push elt all-vars) -- (or (eq enable-local-eval t) -- (hack-one-local-variable-eval-safep (eval (quote val))) -- (safe-local-variable-p var val) -- (push elt unsafe-vars)))) -+ (let ((safe (or (hack-one-local-variable-eval-safep -+ (eval (quote val))) -+ ;; In case previously marked safe (bug#5636). -+ (safe-local-variable-p var val)))) -+ ;; If not safe and e-l-v = :safe, ignore totally. -+ (when (or safe (not (eq enable-local-variables :safe))) -+ (push elt all-vars) -+ (or (eq enable-local-eval t) -+ safe -+ (push elt unsafe-vars)))))) - ;; Ignore duplicates (except `mode') in the present list. - ((and (assq var all-vars) (not (eq var 'mode))) nil) - ;; Accept known-safe variables. |