Skip to content

Commit

Permalink
patch 8.1.0555: crash when last search pat is set but not last substi…
Browse files Browse the repository at this point in the history
…tute pat

Problem:    Crash when last search pat is set but not last substitute pat.
Solution:   Do not mix up last search pattern and last subtitute pattern.
            (closes #3647)
  • Loading branch information
brammool committed Dec 1, 2018
1 parent 614ab8a commit 2fb8f68
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/search.c
Expand Up @@ -1385,7 +1385,7 @@ do_search(
char_u *trunc;

if (*searchstr == NUL)
p = spats[last_idx].pat;
p = spats[0].pat;
else
p = searchstr;
msgbuf = alloc((unsigned)(STRLEN(p) + 40));
Expand Down
12 changes: 12 additions & 0 deletions src/testdir/test_search.vim
Expand Up @@ -1142,3 +1142,15 @@ func Test_search_sentence()
/\%'(
/
endfunc

" Test that there is no crash when there is a last search pattern but no last
" substitute pattern.
func Test_no_last_substitute_pat()
" Use viminfo to set the last search pattern to a string and make the last
" substitute pattern the most recent used and make it empty (NULL).
call writefile(['~MSle0/bar', '~MSle0~&'], 'Xviminfo')
rviminfo! Xviminfo
call assert_fails('normal n', 'E35:')

call delete('Xviminfo')
endfunc
2 changes: 2 additions & 0 deletions src/version.c
Expand Up @@ -792,6 +792,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
555,
/**/
554,
/**/
Expand Down

0 comments on commit 2fb8f68

Please sign in to comment.