To: vim_dev@googlegroups.com Subject: Patch 8.1.0937 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.1.0937 Problem: Invalid memory access in search pattern. (Kuang-che Wu) Solution: Check for incomplete collation element. (Dominique Pelle, closes #3985) Files: src/regexp.c, src/testdir/test_regexp_latin.vim *** ../vim-8.1.0936/src/regexp.c 2019-02-16 18:07:53.719796804 +0100 --- src/regexp.c 2019-02-17 13:49:48.773613618 +0100 *************** *** 1111,1117 **** int l = 1; char_u *p = *pp; ! if (p[0] != NUL && p[1] == '.') { if (has_mbyte) l = (*mb_ptr2len)(p + 2); --- 1111,1117 ---- int l = 1; char_u *p = *pp; ! if (p[0] != NUL && p[1] == '.' && p[2] != NUL) { if (has_mbyte) l = (*mb_ptr2len)(p + 2); *** ../vim-8.1.0936/src/testdir/test_regexp_latin.vim 2019-02-16 18:07:53.719796804 +0100 --- src/testdir/test_regexp_latin.vim 2019-02-17 13:50:42.833277435 +0100 *************** *** 103,108 **** --- 103,110 ---- " Incomplete equivalence class caused invalid memory access s/^/[[= call assert_equal(1, search(getline(1))) + s/.*/[[. + call assert_equal(1, search(getline(1))) endfunc func Test_rex_init() *** ../vim-8.1.0936/src/version.c 2019-02-16 19:05:07.352324625 +0100 --- src/version.c 2019-02-17 13:51:42.396907001 +0100 *************** *** 781,782 **** --- 781,784 ---- { /* Add new patch number below this line */ + /**/ + 937, /**/ -- BEDEVERE: Wait. Wait ... tell me, what also floats on water? ALL: Bread? No, no, no. Apples .... gravy ... very small rocks ... ARTHUR: A duck. "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES 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 ///