From 2eafb4af55cc835694a0e747835b88145d20a94d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mattias=20Engdeg=C3=A5rd?= Date: Thu, 7 Feb 2019 19:05:06 +0100 Subject: [PATCH] Check validity of rx submatch-n number * lisp/emacs-lisp/rx.el (rx-submatch): Type and range check (Bug#34373). --- lisp/emacs-lisp/rx.el | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lisp/emacs-lisp/rx.el b/lisp/emacs-lisp/rx.el index 8ef78fd69e6..2130e3e1aea 100644 --- a/lisp/emacs-lisp/rx.el +++ b/lisp/emacs-lisp/rx.el @@ -725,6 +725,8 @@ FORM is either `(repeat N FORM1)' or `(repeat N M FORMS...)'." (defun rx-submatch-n (form) "Parse and produce code from FORM, which is `(submatch-n N ...)'." (let ((n (nth 1 form))) + (unless (and (integerp n) (> n 0)) + (error "rx `submatch-n' argument must be positive")) (concat "\\(?" (number-to-string n) ":" (if (= 3 (length form)) ;; Only one sub-form. -- 2.39.2