Projects
openEuler:Mainline
vim
_service:tar_scm:backport-CVE-2022-2257.patch
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:backport-CVE-2022-2257.patch of Package vim
From 083692d598139228e101b8c521aaef7bcf256e9a Mon Sep 17 00:00:00 2001 From: Bram Moolenaar <Bram@vim.org> Date: Wed, 29 Jun 2022 21:16:58 +0100 Subject: [PATCH] patch 9.0.0009: going past the end of a menu item with only modifier Problem: Going past the end of a menu item with only modifier. Solution: Check for NUL. --- src/message.c | 4 ++-- src/testdir/test_menu.vim | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/message.c b/src/message.c index 02380e9..becb280 100644 --- a/src/message.c +++ b/src/message.c @@ -1820,8 +1820,8 @@ str2special( *sp = str + 1; } else - // single-byte character or illegal byte - *sp = str + 1; + // single-byte character, NUL or illegal byte + *sp = str + (*str == NUL ? 0 : 1); // Make special keys and C0 control characters in <> form, also <M-Space>. // Use <Space> only for lhs of a mapping. diff --git a/src/testdir/test_menu.vim b/src/testdir/test_menu.vim index c867162..df717cc 100644 --- a/src/testdir/test_menu.vim +++ b/src/testdir/test_menu.vim @@ -528,4 +528,17 @@ func Test_tmenu() tunmenu Test endfunc +func Test_only_modifier() + exe "tmenu a.b \x80\xfc0" + let exp =<< trim [TEXT] + --- Menus --- + 500 a + 500 b + t - <T-2-^@> + [TEXT] + call assert_equal(exp, split(execute('tmenu'), "\n")) + + tunmenu a.b +endfunc + " vim: shiftwidth=2 sts=2 expandtab -- 1.8.3.1
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2