; (find-function-search-for-symbol): Be cautious with macros.

* lisp/emacs-lisp/find-func.el
(find-function-search-for-symbol): Only attempt to expand
macros in trusted buffers.  (Bug#77341)
This commit is contained in:
Eshel Yaron 2025-03-28 17:57:35 +01:00
parent cd41247dc1
commit 3ee021dc19
No known key found for this signature in database
GPG key ID: EF3EE9CA35D78618

View file

@ -487,11 +487,14 @@ The search is done in the source for library LIBRARY."
;; If the regexp search didn't find the location of
;; the symbol (for example, because it is generated by
;; a macro), try a slightly more expensive search that
;; expands macros until it finds the symbol.
;; expands macros until it finds the symbol. Since
;; macro-expansion involves arbitrary code execution,
;; only attempt it in trusted buffers.
(cons (current-buffer)
(find-function--search-by-expanding-macros
(current-buffer) symbol type
form-matcher-factory))))))))))
(when (trusted-content-p)
(find-function--search-by-expanding-macros
(current-buffer) symbol type
form-matcher-factory)))))))))))
;;;###autoload
(defun find-function-update-type-alist (symbol type variable)