To: vim_dev@googlegroups.com Subject: Patch 8.1.0934 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.1.0934 Problem: Invalid memory access in search pattern. (Kuang-che Wu) Solution: Check for incomplete equivalence class. (closes #3970) Files: src/regexp.c, src/testdir/test_regexp_latin.vim *** ../vim-8.1.0933/src/regexp.c 2019-02-12 22:32:56.895616785 +0100 --- src/regexp.c 2019-02-16 17:03:32.114090290 +0100 *************** *** 730,736 **** int l = 1; char_u *p = *pp; ! if (p[1] == '=') { if (has_mbyte) l = (*mb_ptr2len)(p + 2); --- 730,736 ---- int l = 1; char_u *p = *pp; ! if (p[1] == '=' && p[2] != NUL) { if (has_mbyte) l = (*mb_ptr2len)(p + 2); *** ../vim-8.1.0933/src/testdir/test_regexp_latin.vim 2019-02-13 20:31:46.883018311 +0100 --- src/testdir/test_regexp_latin.vim 2019-02-16 17:05:51.357312037 +0100 *************** *** 97,99 **** --- 97,106 ---- " This will be slow... call assert_fails('call search("\\v((n||<)+);")', 'E363:') endfunc + + func Test_get_equi_class() + new + " Incomplete equivalence class caused invalid memory access + s/^/[[= + call assert_equal(1, search(getline(1))) + endfunc *** ../vim-8.1.0933/src/version.c 2019-02-16 16:47:58.130925240 +0100 --- src/version.c 2019-02-16 17:06:54.052959544 +0100 *************** *** 781,782 **** --- 781,784 ---- { /* Add new patch number below this line */ + /**/ + 934, /**/ -- CRONE: Who sent you? ARTHUR: The Knights Who Say GNU! CRONE: Aaaagh! (she looks around in rear) No! We have no licenses here. "Monty Python and the Holy editor wars" PYTHON (MONTY) SOFTWARE LTD /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///