aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-06-18 19:35:37 +0800
committerzeertzjq <zeertzjq@outlook.com>2022-06-18 19:36:43 +0800
commitaab05cd5ff13b39b755b2bced57ec42aee16dfb3 (patch)
treef02e1e62ff05000e63747a84476b5bc4b456776f /src
parent966d55effe5cbfc3d779c89591a1bec4e9ac6639 (diff)
downloadrneovim-aab05cd5ff13b39b755b2bced57ec42aee16dfb3.tar.gz
rneovim-aab05cd5ff13b39b755b2bced57ec42aee16dfb3.tar.bz2
rneovim-aab05cd5ff13b39b755b2bced57ec42aee16dfb3.zip
vim-patch:8.2.5120: searching for quotes may go over the end of the line
Problem: Searching for quotes may go over the end of the line. Solution: Check for running into the NUL. https://github.com/vim/vim/commit/2f074f4685897ab7212e25931eeeb0212292829f
Diffstat (limited to 'src')
-rw-r--r--src/nvim/search.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/nvim/search.c b/src/nvim/search.c
index d442a5aa87..1e862f10ec 100644
--- a/src/nvim/search.c
+++ b/src/nvim/search.c
@@ -4057,6 +4057,11 @@ bool current_quote(oparg_T *oap, long count, bool include, int quotechar)
// Find out if we have a quote in the selection.
while (i <= col_end) {
+ // check for going over the end of the line, which can happen if
+ // the line was changed after the Visual area was selected.
+ if (line[i] == NUL) {
+ break;
+ }
if (line[i++] == quotechar) {
selected_quote = true;
break;