view runtime/keymap/oldturkic-yenisei_utf-8.vim @ 33581:403d57b06231 v9.0.2035

patch 9.0.2035: [security] use-after-free with wildmenu Commit: https://github.com/vim/vim/commit/8f4fb007e4d472b09ff6bed9ffa485e0c3093699 Author: Yee Cheng Chin <ychin.git@gmail.com> Date: Tue Oct 17 10:06:56 2023 +0200 patch 9.0.2035: [security] use-after-free with wildmenu Problem: [security] use-after-free with wildmenu Solution: properly clean up the wildmenu when exiting Fix wildchar/wildmenu/pum memory corruption with special wildchar's Currently, using `wildchar=<Esc>` or `wildchar=<C-\>` can lead to a memory corruption if using wildmenu+pum, or wrong states if only using wildmenu. This is due to the code only using one single place inside the cmdline process loop to perform wild menu clean up (by checking `end_wildmenu`) but there are other odd situations where the loop could have exited and we need a post-loop clean up just to be sure. If the clean up was not done you would have a stale popup menu referring to invalid memory, or if not using popup menu, incorrect status line (if `laststatus=0`). For example, if you hit `<Esc>` two times when it's wildchar, there's a hard-coded behavior to exit command-line as a failsafe for user, and if you hit `<C-\><C-\><C-N>` it will also exit command-line, but the clean up code would not have hit because of specialized `<C-\>` handling. Fix Ctrl-E / Ctrl-Y to not cancel/accept wildmenu if they are also used for 'wildchar'/'wildcharm'. Currently they don't behave properly, and also have potentially memory unsafe behavior as the logic is currently not accounting for this situation and try to do both. (Previous patch that addressed this: #11677) Also, correctly document Escape key behavior (double-hit it to escape) in wildchar docs as it's previously undocumented. In addition, block known invalid chars to be set in `wildchar` option, such as Ctrl-C and `<CR>`. This is just to make it clear to the user they shouldn't be set, and is not required for this bug fix. closes: #13361 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
author Christian Brabandt <cb@256bit.org>
date Tue, 17 Oct 2023 10:15:08 +0200
parents 99586852c2db
children
line wrap: on
line source

" Maintainer:   Oliver Corff <oliver.corff@yemail.de>
" Last Changed: 2018 Feb 12

" All characters are given literally, conversion to another encoding (e.g.,
" UTF-8) should work.
scriptencoding utf-8

let b:keymap_name = "oty"
highlight lCursor guibg=red guifg=NONE

" map F8 to toggle keymap (Ctrl-^ not present on keyboard)
noremap  <F8> :let &iminsert = ! &iminsert<CR>
lnoremap <F8> <C-^>
noremap! <F8> <C-^>

loadkeymap
A	๐ฐ	10C01	OLD TURKIC LETTER YENISEI A
01	๐ฐ	10C01	OLD TURKIC LETTER YENISEI A
AE	๐ฐ‚	10C02	OLD TURKIC LETTER YENISEI AE
02	๐ฐ‚	10C02	OLD TURKIC LETTER YENISEI AE
I	๐ฐ„	10C04	OLD TURKIC LETTER YENISEI I
04	๐ฐ„	10C04	OLD TURKIC LETTER YENISEI I
E	๐ฐ…	10C05	OLD TURKIC LETTER YENISEI E
05	๐ฐ…	10C05	OLD TURKIC LETTER YENISEI E
OO	๐ฐ†	10C06	OLD TURKIC LETTER ORKHON O
U	๐ฐ†	10C06	OLD TURKIC LETTER ORKHON O
06	๐ฐ†	10C06	OLD TURKIC LETTER ORKHON O
E	๐ฐˆ	10C08	OLD TURKIC LETTER YENISEI OE
UE	๐ฐˆ	10C08	OLD TURKIC LETTER YENISEI OE
08	๐ฐˆ	10C08	OLD TURKIC LETTER YENISEI OE
ab	๐ฐŠ	10C0A	OLD TURKIC LETTER YENISEI AB
b1	๐ฐŠ	10C0A	OLD TURKIC LETTER YENISEI AB
0a	๐ฐŠ	10C0A	OLD TURKIC LETTER YENISEI AB
aeb	๐ฐŒ	10C0C	OLD TURKIC LETTER YENISEI AEB
eb	๐ฐŒ	10C0C	OLD TURKIC LETTER YENISEI AEB
b2	๐ฐŒ	10C0C	OLD TURKIC LETTER YENISEI AEB
0c	๐ฐŒ	10C0C	OLD TURKIC LETTER YENISEI AEB
ag	๐ฐŽ	10C0E	OLD TURKIC LETTER YENISEI AG
g1	๐ฐŽ	10C0E	OLD TURKIC LETTER YENISEI AG
0e	๐ฐŽ	10C0E	OLD TURKIC LETTER YENISEI AG
aeg	๐ฐ	10C10	OLD TURKIC LETTER YENISEI AEG
eg	๐ฐ	10C10	OLD TURKIC LETTER YENISEI AEG
g2	๐ฐ	10C10	OLD TURKIC LETTER YENISEI AEG
10	๐ฐ	10C10	OLD TURKIC LETTER YENISEI AEG
ad	๐ฐ’	10C12	OLD TURKIC LETTER YENISEI AD
d1	๐ฐ’	10C12	OLD TURKIC LETTER YENISEI AD
12	๐ฐ’	10C12	OLD TURKIC LETTER YENISEI AD
aed	๐ฐ“	10C13	OLD TURKIC LETTER ORKHON AED
ed	๐ฐ“	10C13	OLD TURKIC LETTER ORKHON AED
d2	๐ฐ“	10C13	OLD TURKIC LETTER ORKHON AED
13	๐ฐ“	10C13	OLD TURKIC LETTER ORKHON AED
ez	๐ฐ•	10C15	OLD TURKIC LETTER YENISEI EZ
z	๐ฐ•	10C15	OLD TURKIC LETTER YENISEI EZ
15	๐ฐ•	10C15	OLD TURKIC LETTER YENISEI EZ
ay	๐ฐ—	10C17	OLD TURKIC LETTER YENISEI AY
y1	๐ฐ—	10C17	OLD TURKIC LETTER YENISEI AY
17	๐ฐ—	10C17	OLD TURKIC LETTER YENISEI AY
aey	๐ฐ™	10C19	OLD TURKIC LETTER YENISEI AEY
ey	๐ฐ™	10C19	OLD TURKIC LETTER YENISEI AEY
y2	๐ฐ™	10C19	OLD TURKIC LETTER YENISEI AEY
19	๐ฐ™	10C19	OLD TURKIC LETTER YENISEI AEY
aek	๐ฐ›	10C1B	OLD TURKIC LETTER YENISEI AEK
ak	๐ฐ›	10C1B	OLD TURKIC LETTER YENISEI AEK
k	๐ฐ›	10C1B	OLD TURKIC LETTER YENISEI AEK
1b	๐ฐ›	10C1B	OLD TURKIC LETTER YENISEI AEK
oek	๐ฐ	10C1D	OLD TURKIC LETTER YENISEI OEK
รถk	๐ฐ	10C1D	OLD TURKIC LETTER YENISEI OEK
uek	๐ฐ	10C1D	OLD TURKIC LETTER YENISEI OEK
รผk	๐ฐ	10C1D	OLD TURKIC LETTER YENISEI OEK
1d	๐ฐ	10C1D	OLD TURKIC LETTER YENISEI OEK
al	๐ฐŸ	10C1F	OLD TURKIC LETTER YENISEI AL
l	๐ฐŸ	10C1F	OLD TURKIC LETTER YENISEI AL
l1	๐ฐŸ	10C1F	OLD TURKIC LETTER YENISEI AL
1f	๐ฐŸ	10C1F	OLD TURKIC LETTER YENISEI AL
ael	๐ฐ 	10C20	OLD TURKIC LETTER ORKHON AEL
el	๐ฐ 	10C20	OLD TURKIC LETTER ORKHON AEL
l2	๐ฐ 	10C20	OLD TURKIC LETTER ORKHON AEL
20	๐ฐ 	10C20	OLD TURKIC LETTER ORKHON AEL
elt	๐ฐก	10C21	OLD TURKIC LETTER ORKHON ELT
lt	๐ฐก	10C21	OLD TURKIC LETTER ORKHON ELT
21	๐ฐก	10C21	OLD TURKIC LETTER ORKHON ELT
em	๐ฐข	10C22	OLD TURKIC LETTER ORKHON EM
m	๐ฐข	10C22	OLD TURKIC LETTER ORKHON EM
22	๐ฐข	10C22	OLD TURKIC LETTER ORKHON EM
an	๐ฐฃ	10C23	OLD TURKIC LETTER ORKHON AN
n1	๐ฐฃ	10C23	OLD TURKIC LETTER ORKHON AN
23	๐ฐฃ	10C23	OLD TURKIC LETTER ORKHON AN
aen	๐ฐฅ	10C25	OLD TURKIC LETTER YENISEI AEN
en	๐ฐฅ	10C25	OLD TURKIC LETTER YENISEI AEN
n2	๐ฐฅ	10C25	OLD TURKIC LETTER YENISEI AEN
25	๐ฐฅ	10C25	OLD TURKIC LETTER YENISEI AEN
ent	๐ฐง	10C27	OLD TURKIC LETTER YENISEI ENT
nt	๐ฐง	10C27	OLD TURKIC LETTER YENISEI ENT
27	๐ฐง	10C27	OLD TURKIC LETTER YENISEI ENT
enc	๐ฐฉ	10C29	OLD TURKIC LETTER YENISEI ENC
nc	๐ฐฉ	10C29	OLD TURKIC LETTER YENISEI ENC
29	๐ฐฉ	10C29	OLD TURKIC LETTER YENISEI ENC
eny	๐ฐซ	10C2B	OLD TURKIC LETTER YENISEI ENY
ny	๐ฐซ	10C2B	OLD TURKIC LETTER YENISEI ENY
2b	๐ฐซ	10C2B	OLD TURKIC LETTER YENISEI ENY
ang	๐ฐฌ	10C2C	OLD TURKIC LETTER YENISEI ANG
ng	๐ฐฌ	10C2C	OLD TURKIC LETTER YENISEI ANG
2c	๐ฐฌ	10C2C	OLD TURKIC LETTER YENISEI ANG
aeng	๐ฐฎ	10C2E	OLD TURKIC LETTER YENISEI AENG
eng	๐ฐฎ	10C2E	OLD TURKIC LETTER YENISEI AENG
2e	๐ฐฎ	10C2E	OLD TURKIC LETTER YENISEI AENG
ep	๐ฐฏ	10C2F	OLD TURKIC LETTER ORKHON EP
p	๐ฐฏ	10C2F	OLD TURKIC LETTER ORKHON EP
2f	๐ฐฏ	10C2F	OLD TURKIC LETTER ORKHON EP
op	๐ฐฐ	10C30	OLD TURKIC LETTER ORKHON OP
up	๐ฐฐ	10C30	OLD TURKIC LETTER ORKHON OP
30	๐ฐฐ	10C30	OLD TURKIC LETTER ORKHON OP
ic	๐ฐฑ	10C31	OLD TURKIC LETTER ORKHON IC
31	๐ฐฑ	10C31	OLD TURKIC LETTER ORKHON IC
ec	๐ฐณ	10C33	OLD TURKIC LETTER YENISEI EC
c	๐ฐณ	10C33	OLD TURKIC LETTER YENISEI EC
33	๐ฐณ	10C33	OLD TURKIC LETTER YENISEI EC
aq	๐ฐต	10C35	OLD TURKIC LETTER YENISEI AQ
q	๐ฐต	10C35	OLD TURKIC LETTER YENISEI AQ
35	๐ฐต	10C35	OLD TURKIC LETTER YENISEI AQ
iq	๐ฐท	10C37	OLD TURKIC LETTER YENISEI IQ
yq	๐ฐท	10C37	OLD TURKIC LETTER YENISEI IQ
37	๐ฐท	10C37	OLD TURKIC LETTER YENISEI IQ
oq	๐ฐน	10C39	OLD TURKIC LETTER YENISEI OQ
uq	๐ฐน	10C39	OLD TURKIC LETTER YENISEI OQ
39	๐ฐน	10C39	OLD TURKIC LETTER YENISEI OQ
ar	๐ฐป	10C3B	OLD TURKIC LETTER YENISEI AR
r	๐ฐป	10C3B	OLD TURKIC LETTER YENISEI AR
r1	๐ฐป	10C3B	OLD TURKIC LETTER YENISEI AR
3b	๐ฐป	10C3B	OLD TURKIC LETTER YENISEI AR
aer	๐ฐผ	10C3C	OLD TURKIC LETTER ORKHON AER
er	๐ฐผ	10C3C	OLD TURKIC LETTER ORKHON AER
r2	๐ฐผ	10C3C	OLD TURKIC LETTER ORKHON AER
3c	๐ฐผ	10C3C	OLD TURKIC LETTER ORKHON AER
as	๐ฐฝ	10C3D	OLD TURKIC LETTER ORKHON AS
s1	๐ฐฝ	10C3D	OLD TURKIC LETTER ORKHON AS
3d	๐ฐฝ	10C3D	OLD TURKIC LETTER ORKHON AS
aes	๐ฐพ	10C3E	OLD TURKIC LETTER ORKHON AES
es	๐ฐพ	10C3E	OLD TURKIC LETTER ORKHON AES
s2	๐ฐพ	10C3E	OLD TURKIC LETTER ORKHON AES
3e	๐ฐพ	10C3E	OLD TURKIC LETTER ORKHON AES
ash	๐ฑ€	10C40	OLD TURKIC LETTER YENISEI ASH
sh1	๐ฑ€	10C40	OLD TURKIC LETTER YENISEI ASH
40	๐ฑ€	10C40	OLD TURKIC LETTER YENISEI ASH
esh	๐ฑ‚	10C42	OLD TURKIC LETTER YENISEI ESH
sh2	๐ฑ‚	10C42	OLD TURKIC LETTER YENISEI ESH
42	๐ฑ‚	10C42	OLD TURKIC LETTER YENISEI ESH
at	๐ฑ„	10C44	OLD TURKIC LETTER YENISEI AT
t1	๐ฑ„	10C44	OLD TURKIC LETTER YENISEI AT
44	๐ฑ„	10C44	OLD TURKIC LETTER YENISEI AT
aet	๐ฑ†	10C46	OLD TURKIC LETTER YENISEI AET
et	๐ฑ†	10C46	OLD TURKIC LETTER YENISEI AET
t2	๐ฑ†	10C46	OLD TURKIC LETTER YENISEI AET
46	๐ฑ†	10C46	OLD TURKIC LETTER YENISEI AET
ot	๐ฑ‡	10C47	OLD TURKIC LETTER ORKHON OT
ut	๐ฑ‡	10C47	OLD TURKIC LETTER ORKHON OT
47	๐ฑ‡	10C47	OLD TURKIC LETTER ORKHON OT
bash	๐ฑˆ	10C48	OLD TURKIC LETTER ORKHON BASH
48	๐ฑˆ	10C48	OLD TURKIC LETTER ORKHON BASH