]> git.eshelyaron.com Git - emacs.git/commitdiff
Add some sanity checking of defun arglist
authorNicolas Richard <theonewiththeevillook@yahoo.fr>
Sun, 11 Dec 2016 01:48:10 +0000 (17:48 -0800)
committerGlenn Morris <rgm@gnu.org>
Sun, 11 Dec 2016 01:48:10 +0000 (17:48 -0800)
* lisp/emacs-lisp/byte-run.el (defun):
Check for malformed argument lists.  (Bug#15715)

lisp/emacs-lisp/byte-run.el

index 818c2683463b2b80b4e9a7b8e2af19edf8be3cef..69b4f41fef652da571a554680e71e87905f124b2 100644 (file)
@@ -240,6 +240,10 @@ The return value is undefined.
   ;; from
   ;;    (defun foo (arg) (toto)).
   (declare (doc-string 3) (indent 2))
+  (if (null
+       (and (listp arglist)
+            (null (delq t (mapcar #'symbolp arglist)))))
+      (error "Malformed arglist: %s" arglist))
   (let ((decls (cond
                 ((eq (car-safe docstring) 'declare)
                  (prog1 (cdr docstring) (setq docstring nil)))