summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/vim/files/0002-patch-8.2.3611-crash-when-using-CTRL-W-f-without-fin.patch
diff options
context:
space:
mode:
authorRoss Burton <ross@burtonini.com>2021-12-06 14:49:53 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-12-08 20:22:11 +0000
commit5cfc6ef28decae29e3866ea30bf7298182eb26de (patch)
treeb1678004eb5a4837f43177d5159f76d1d60d9626 /meta/recipes-support/vim/files/0002-patch-8.2.3611-crash-when-using-CTRL-W-f-without-fin.patch
parent5c073c52ed6fa2d59141a1507c8b04c5b6290b4f (diff)
downloadpoky-5cfc6ef28decae29e3866ea30bf7298182eb26de.tar.gz
vim: upgrade to 8.2 patch 3752
There's a fairly constant flow of CVEs being fixed in Vim, which are getting increasing non-trivial to backport. Instead of trying to backport (and potentially introduce more bugs), or just ignoring them entirely, upgrade vim to the latest patch in the hope that vim 8.3 will be released before we release Kirkstone. (From OE-Core rev: 78a4796de27d710f97c336d288d797557a58694e) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-support/vim/files/0002-patch-8.2.3611-crash-when-using-CTRL-W-f-without-fin.patch')
-rw-r--r--meta/recipes-support/vim/files/0002-patch-8.2.3611-crash-when-using-CTRL-W-f-without-fin.patch92
1 files changed, 0 insertions, 92 deletions
diff --git a/meta/recipes-support/vim/files/0002-patch-8.2.3611-crash-when-using-CTRL-W-f-without-fin.patch b/meta/recipes-support/vim/files/0002-patch-8.2.3611-crash-when-using-CTRL-W-f-without-fin.patch
deleted file mode 100644
index 58d3442677..0000000000
--- a/meta/recipes-support/vim/files/0002-patch-8.2.3611-crash-when-using-CTRL-W-f-without-fin.patch
+++ /dev/null
@@ -1,92 +0,0 @@
1CVE: CVE-2021-3973
2Upstream-Status: Backport
3Signed-off-by: Ross Burton <ross.burton@arm.com>
4
5From b6154e9f530544ddc3130d981caae0dabc053757 Mon Sep 17 00:00:00 2001
6From: Bram Moolenaar <Bram@vim.org>
7Date: Wed, 17 Nov 2021 18:00:31 +0000
8Subject: [PATCH] patch 8.2.3611: crash when using CTRL-W f without finding a
9 file name Problem: Crash when using CTRL-W f without finding
10 a file name. Solution: Bail out when the file name length is zero.
11
12---
13 src/findfile.c | 8 ++++++++
14 src/normal.c | 6 ++++--
15 src/testdir/test_visual.vim | 8 ++++++++
16 src/version.c | 2 ++
17 4 files changed, 22 insertions(+), 2 deletions(-)
18
19diff --git a/src/findfile.c b/src/findfile.c
20index dba547da1..5764fd7b8 100644
21--- a/src/findfile.c
22+++ b/src/findfile.c
23@@ -1727,6 +1727,9 @@ find_file_in_path_option(
24 proc->pr_WindowPtr = (APTR)-1L;
25 # endif
26
27+ if (len == 0)
28+ return NULL;
29+
30 if (first == TRUE)
31 {
32 // copy file name into NameBuff, expanding environment variables
33@@ -2094,7 +2097,12 @@ find_file_name_in_path(
34 int c;
35 # if defined(FEAT_FIND_ID) && defined(FEAT_EVAL)
36 char_u *tofree = NULL;
37+# endif
38
39+ if (len == 0)
40+ return NULL;
41+
42+# if defined(FEAT_FIND_ID) && defined(FEAT_EVAL)
43 if ((options & FNAME_INCL) && *curbuf->b_p_inex != NUL)
44 {
45 tofree = eval_includeexpr(ptr, len);
46diff --git a/src/normal.c b/src/normal.c
47index 7cb959257..f0084f2ac 100644
48--- a/src/normal.c
49+++ b/src/normal.c
50@@ -3778,8 +3778,10 @@ get_visual_text(
51 *pp = ml_get_pos(&VIsual);
52 *lenp = curwin->w_cursor.col - VIsual.col + 1;
53 }
54- if (has_mbyte)
55- // Correct the length to include the whole last character.
56+ if (**pp == NUL)
57+ *lenp = 0;
58+ if (has_mbyte && *lenp > 0)
59+ // Correct the length to include all bytes of the last character.
60 *lenp += (*mb_ptr2len)(*pp + (*lenp - 1)) - 1;
61 }
62 reset_VIsual_and_resel();
63diff --git a/src/testdir/test_visual.vim b/src/testdir/test_visual.vim
64index ae281238e..0705fdb57 100644
65--- a/src/testdir/test_visual.vim
66+++ b/src/testdir/test_visual.vim
67@@ -894,4 +894,12 @@ func Test_block_insert_replace_tabs()
68 bwipe!
69 endfunc
70
71+func Test_visual_block_ctrl_w_f()
72+ " Emtpy block selected in new buffer should not result in an error.
73+ au! BufNew foo sil norm f
74+ edit foo
75+
76+ au! BufNew
77+endfunc
78+
79 " vim: shiftwidth=2 sts=2 expandtab
80diff --git a/src/version.c b/src/version.c
81index 52be3c39d..59a314b3a 100644
82--- a/src/version.c
83+++ b/src/version.c
84@@ -742,6 +742,8 @@ static char *(features[]) =
85
86 static int included_patches[] =
87 { /* Add new patch number below this line */
88+/**/
89+ 3611,
90 /**/
91 3582,
92 /**/