1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-01 09:51:22 -08:00
emacs/test/src
Mattias Engdegård b8e7061232 Remove recursion from character escape handling in reader
This cures a C stack overflow when reading certain long (crafted)
strings (bug#62039) and improves performance of reading escaped
characters in character and string literals.
Reported by Bruno Haible.

* src/lread.c (invalid_escape_syntax_error): New.
(read_escape): Rename to...
(read_char_escape): ...this.  Remove recursion.  Pass read-ahead char
as argument.  Improve code performance and clarity.
(read_char_literal, read_string_literal): Update calls.
* test/src/lread-tests.el (lread-char-modifiers)
(lread-many-modifiers): Add test cases.
2023-03-11 10:21:23 +01:00
..
comp-resources ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
emacs-module-resources ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
lread-resources Make force-load-doc-strings work again 2022-08-07 10:25:03 +02:00
regex-resources ; Fix more typos 2020-10-03 12:53:51 +02:00
syntax-resources Enhance syntax-tests.el to test nestable comments (Lisp style) 2020-11-17 16:51:49 +00:00
alloc-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
buffer-tests.el Rename with/without-narrowing to with/without-restriction 2023-02-13 20:11:28 +02:00
callint-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
callproc-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
casefiddle-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
character-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
charset-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
chartab-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cmds-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
coding-tests.el Fix encoding with 'utf-8-auto' 2023-01-12 16:36:35 +02:00
comp-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
data-tests.el Detect and prevent function alias loops in fset and defalias 2023-02-21 10:42:00 +01:00
decompress-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
doc-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
editfns-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
emacs-module-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
emacs-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
eval-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
fileio-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
filelock-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
floatfns-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
fns-tests.el Use delete-char instead of backward-delete-char 2023-02-22 12:55:45 +01:00
font-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
image-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
indent-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
inotify-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
json-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
keyboard-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
keymap-tests.el Make `keymap-set-after' work for menus 2023-01-20 15:14:45 +01:00
lcms-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
lread-tests.el Remove recursion from character escape handling in reader 2023-03-11 10:21:23 +01:00
marker-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
minibuf-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
print-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
process-tests.el Merge from origin/emacs-29 2023-01-01 05:47:47 -05:00
regex-emacs-tests.el Merge from origin/emacs-29 2023-02-21 10:58:00 +01:00
search-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
sqlite-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
syntax-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
textprop-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
thread-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
timefns-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
treesit-tests.el Adjust tree-sitter defun navigation (bug#61617) 2023-02-27 00:14:32 -08:00
undo-tests.el undo-tests.el: Tests for bug#60467 2023-01-13 17:43:31 -05:00
xdisp-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
xfaces-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
xml-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00