# HG changeset patch # User Bram Moolenaar # Date 1652265904 -7200 # Node ID 2d0bd5601c3081c3a22a7332eabcce2db13c85ea # Parent f4d6061c882f183c3074b30a8faa6be53d04a33c patch 8.2.4938: crash when matching buffer with invalid pattern Commit: https://github.com/vim/vim/commit/a59f2dfd0cf9ee1a584d3de5b7c2d47648e79060 Author: Bram Moolenaar Date: Wed May 11 11:42:28 2022 +0100 patch 8.2.4938: crash when matching buffer with invalid pattern Problem: Crash when matching buffer with invalid pattern. Solution: Check for NULL regprog. diff --git a/src/buffer.c b/src/buffer.c --- a/src/buffer.c +++ b/src/buffer.c @@ -2932,7 +2932,7 @@ buflist_match( // First try the short file name, then the long file name. match = fname_match(rmp, buf->b_sfname, ignore_case); - if (match == NULL) + if (match == NULL && rmp->regprog != NULL) match = fname_match(rmp, buf->b_ffname, ignore_case); return match; diff --git a/src/testdir/test_buffer.vim b/src/testdir/test_buffer.vim --- a/src/testdir/test_buffer.vim +++ b/src/testdir/test_buffer.vim @@ -415,6 +415,10 @@ func Test_buf_pattern_invalid() vsplit 0000000 silent! buf [0--]\&\zs*\zs*e bwipe! + + vsplit 00000000000000000000000000 + silent! buf [0--]\&\zs*\zs*e + bwipe! endfunc " Test for the 'maxmem' and 'maxmemtot' options diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -747,6 +747,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 4938, +/**/ 4937, /**/ 4936,