diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2018-11-29 01:51:26 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-29 01:51:26 +0100 |
commit | 5a752c97d5294f4a69613db71adf9beb6a8f8790 (patch) | |
tree | 7483b993657af7aa07dd2cb3a3390bc0dbf40899 /src/nvim/screen.c | |
parent | 98eaf60a98d0dfec9b1addb2c4efb3655c095044 (diff) | |
download | rneovim-5a752c97d5294f4a69613db71adf9beb6a8f8790.tar.gz rneovim-5a752c97d5294f4a69613db71adf9beb6a8f8790.tar.bz2 rneovim-5a752c97d5294f4a69613db71adf9beb6a8f8790.zip |
vim-patch:8.1.0098: segfault when pattern with \z() is very slow (#9283)
Problem: Segfault when pattern with \z() is very slow.
Solution: Check for NULL regprog. Add "nfa_fail" to test_override() to be
able to test this. Fix that 'searchhl' resets called_emsg.
https://github.com/vim/vim/commit/bcf9442307075bac40d44328c8bf7ea21857b138
closes #8788
Diffstat (limited to 'src/nvim/screen.c')
-rw-r--r-- | src/nvim/screen.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/nvim/screen.c b/src/nvim/screen.c index eb24e2af1c..e4485b4e2e 100644 --- a/src/nvim/screen.c +++ b/src/nvim/screen.c @@ -5603,6 +5603,7 @@ next_search_hl ( linenr_T l; colnr_T matchcol; long nmatched = 0; + int save_called_emsg = called_emsg; if (shl->lnum != 0) { /* Check for three situations: @@ -5695,6 +5696,9 @@ next_search_hl ( shl->lnum += shl->rm.startpos[0].lnum; break; /* useful match found */ } + + // Restore called_emsg for assert_fails(). + called_emsg = save_called_emsg; } } |