Projects
Mega:23.03
vim
_service:tar_scm:backport-CVE-2022-2923.patch
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:backport-CVE-2022-2923.patch of Package vim
From 6669de1b235843968e88844ca6d3c8dec4b01a9e Mon Sep 17 00:00:00 2001 From: Bram Moolenaar <Bram@vim.org> Date: Sun, 21 Aug 2022 20:33:47 +0100 Subject: [PATCH] patch 9.0.0240: crash when using ":mkspell" with an empty .dic file Problem: Crash when using ":mkspell" with an empty .dic file. Solution: Check for an empty word tree. --- src/spellfile.c | 4 +++- src/testdir/test_spellfile.vim | 12 ++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/spellfile.c b/src/spellfile.c index 4a0de52..a4407fa 100644 --- a/src/spellfile.c +++ b/src/spellfile.c @@ -5585,10 +5585,12 @@ sug_filltree(spellinfo_T *spin, slang_T *slang) /* * Go through the whole case-folded tree, soundfold each word and put it - * in the trie. + * in the trie. Bail out if the tree is empty. */ byts = slang->sl_fbyts; idxs = slang->sl_fidxs; + if (byts == NULL || idxs == NULL) + return FAIL; arridx[0] = 0; curi[0] = 1; diff --git a/src/testdir/test_spellfile.vim b/src/testdir/test_spellfile.vim index 38d1ec0..e81aa65 100644 --- a/src/testdir/test_spellfile.vim +++ b/src/testdir/test_spellfile.vim @@ -1160,4 +1160,16 @@ func Test_mkspellmem_opt() call assert_fails('set mkspellmem=1000,50,0', 'E474:') endfunc +" this was using a NULL pointer +func Test_mkspell_empty_dic() + call writefile(['1'], 'XtestEmpty.dic') + call writefile(['SOFOFROM abcd', 'SOFOTO ABCD', 'SAL CIA X'], 'XtestEmpty.aff') + mkspell! XtestEmpty.spl XtestEmpty + + call delete('XtestEmpty.dic') + call delete('XtestEmpty.aff') + call delete('XtestEmpty.spl') +endfunc + + " vim: shiftwidth=2 sts=2 expandtab -- 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