vim/backport-fix-test-failed.patch
rwx403335 bb324c55d8 Fix CVE-2022-1898 CVE-2022-1942
(cherry picked from commit 6e6d375fb6a945059a984b3a0e650f9e2169a78d)
2022-06-28 16:50:13 +08:00

59 lines
1.9 KiB
Diff

From be99042b03edf7b8156c9adbc23516bfcf2cec0f Mon Sep 17 00:00:00 2001
From: Bram Moolenaar <Bram@vim.org>
Date: Mon, 30 May 2022 16:01:42 +0100
Subject: [PATCH] patch 8.2.5044: command line test fails
Problem: Command line test fails.
Solution: Also beep when cmdline win can't be opened because of locks.
Make the test not beep. Make the test pass on MS-Windows.
---
src/ex_getln.c | 6 ++----
src/testdir/test_substitute.vim | 5 +++--
2 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/src/ex_getln.c b/src/ex_getln.c
index d5fc38d..7571ae2 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -4186,11 +4186,9 @@ open_cmdwin(void)
#endif
// Can't do this when text or buffer is locked.
- if (text_or_buf_locked())
- return K_IGNORE;
-
// Can't do this recursively. Can't do it when typing a password.
- if (cmdwin_type != 0
+ if (text_or_buf_locked()
+ || cmdwin_type != 0
# if defined(FEAT_CRYPT) || defined(FEAT_EVAL)
|| cmdline_star > 0
# endif
diff --git a/src/testdir/test_substitute.vim b/src/testdir/test_substitute.vim
index 367f472..3450c4f 100644
--- a/src/testdir/test_substitute.vim
+++ b/src/testdir/test_substitute.vim
@@ -781,6 +781,7 @@ func Test_sub_open_cmdline_win()
" the error only happens in a very specific setup, run a new Vim instance to
" get a clean starting point.
let lines =<< trim [SCRIPT]
+ set vb t_vb=
norm o0000000000000000000000000000000000000000000000000000
func Replace()
norm q/
@@ -793,8 +794,8 @@ func Test_sub_open_cmdline_win()
[SCRIPT]
call writefile(lines, 'Xscript')
if RunVim([], [], '-u NONE -S Xscript')
- let messages = readfile('Xresult')
- call assert_match('E565: Not allowed to change text or change window', messages[3])
+ call assert_match('E565: Not allowed to change text or change window',
+ \ readfile('Xresult')->join('XX'))
endif
call delete('Xscript')
--
2.27.0