Projects
openEuler:Mainline
vim
_service:tar_scm:backport-CVE-2022-2816.patch
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:backport-CVE-2022-2816.patch of Package vim
From dbdd16b62560413abcc3c8e893cc3010ccf31666 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar <Bram@vim.org> Date: Sun, 14 Aug 2022 21:46:07 +0100 Subject: [PATCH] patch 9.0.0212: invalid memory access when compiling :unlet Problem: Invalid memory access when compiling :unlet. Solution: Don't read past the end of the line. --- src/testdir/test_vim9_cmd.vim | 11 +++++++++-- src/vim9cmds.c | 6 ++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim index 16f534e..a40f261 100644 --- a/src/testdir/test_vim9_cmd.vim +++ b/src/testdir/test_vim9_cmd.vim @@ -1704,12 +1704,19 @@ def Test_lockvar() lines =<< trim END def _() - s:0([], s:0) lockv enddef defcomp END - v9.CheckScriptFailure(lines, 'E179', 2) + v9.CheckScriptFailure(lines, 'E179', 1) + + lines =<< trim END + def T() + unlet + enddef + defcomp + END + v9.CheckScriptFailure(lines, 'E179', 1) enddef def Test_substitute_expr() diff --git a/src/vim9cmds.c b/src/vim9cmds.c index 35a3821..93032d6 100644 --- a/src/vim9cmds.c +++ b/src/vim9cmds.c @@ -92,6 +92,12 @@ free_locals(cctx_T *cctx) int check_vim9_unlet(char_u *name) { + if (*name == NUL) + { + semsg(_(e_argument_required_for_str), "unlet"); + return FAIL; + } + if (name[1] != ':' || vim_strchr((char_u *)"gwtb", *name) == NULL) { // "unlet s:var" is allowed in legacy script. -- 2.36.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