annotate runtime/delmenu.vim @ 33879:d418c82f02a4 v9.0.2149

patch 9.0.2149: [security]: use-after-free in exec_instructions() Commit: https://github.com/vim/vim/commit/5dd41d4b6370b7b7d09d691f9252b3899c66102a Author: Christian Brabandt <cb@256bit.org> Date: Mon Dec 4 22:52:23 2023 +0100 patch 9.0.2149: [security]: use-after-free in exec_instructions() Problem: [security]: use-after-free in exec_instructions() Solution: get tv pointer again [security]: use-after-free in exec_instructions() exec_instructions may access freed memory, if the GA_GROWS_FAILS() re-allocates memory. When this happens, the typval tv may still point to now already freed memory. So let's get that pointer again and compare it with tv. If those two pointers differ, tv is now invalid and we have to refresh the tv pointer. closes: #13621 Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Sun, 10 Dec 2023 15:16:17 +0100
parents 4027cefc2aab
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 " This Vim script deletes all the menus, so that they can be redefined.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2 " Warning: This also deletes all menus defined by the user!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3 "
32770
4027cefc2aab Farewell to Bram and dedicate upcoming Vim 9.1 to him (#12749)
Christian Brabandt <cb@256bit.org>
parents: 29601
diff changeset
4 " Maintainer: The Vim Project <https://github.com/vim/vim>
4027cefc2aab Farewell to Bram and dedicate upcoming Vim 9.1 to him (#12749)
Christian Brabandt <cb@256bit.org>
parents: 29601
diff changeset
5 " Last Change: 2023 Aug 10
4027cefc2aab Farewell to Bram and dedicate upcoming Vim 9.1 to him (#12749)
Christian Brabandt <cb@256bit.org>
parents: 29601
diff changeset
6 " Former Maintainer: Bram Moolenaar <Bram@vim.org>
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8 aunmenu *
14952
405309f9dd13 patch 8.1.0487: no menus specifically for the terminal window
Bram Moolenaar <Bram@vim.org>
parents: 7
diff changeset
9 tlunmenu *
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10
29601
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
11 if exists('#SetupLazyloadMenus')
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
12 au! SetupLazyloadMenus
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
13 augroup! SetupLazyloadMenus
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
14 endif
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
15
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
16 if exists('#buffer_list')
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
17 au! buffer_list
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
18 augroup! buffer_list
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
19 endif
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
20
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
21 if exists('#LoadBufferMenu')
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
22 au! LoadBufferMenu
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
23 augroup! LoadBufferMenu
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
24 endif
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
25
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
26 if exists('#spellmenu')
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
27 au! spellmenu
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
28 augroup! spellmenu
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
29 endif
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
30
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
31 if exists('#SpellPopupMenu')
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
32 au! SpellPopupMenu
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
33 augroup! SpellPopupMenu
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
34 endif
8f0ca93857a6 patch 9.0.0141: "delmenu" does not remove autocmmands
Bram Moolenaar <Bram@vim.org>
parents: 18860
diff changeset
35
18860
ec92ccff5c8b patch 8.1.2416: loading menus sets v:errmsg
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
36 unlet! g:did_install_default_menus
ec92ccff5c8b patch 8.1.2416: loading menus sets v:errmsg
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
37 unlet! g:did_install_syntax_menu
ec92ccff5c8b patch 8.1.2416: loading menus sets v:errmsg
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
38
ec92ccff5c8b patch 8.1.2416: loading menus sets v:errmsg
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
39 if exists('g:did_menu_trans')
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40 menutrans clear
18860
ec92ccff5c8b patch 8.1.2416: loading menus sets v:errmsg
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
41 unlet g:did_menu_trans
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43
18860
ec92ccff5c8b patch 8.1.2416: loading menus sets v:errmsg
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
44 unlet! g:find_help_dialog
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45
18860
ec92ccff5c8b patch 8.1.2416: loading menus sets v:errmsg
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
46 unlet! g:menutrans_fileformat_choices
ec92ccff5c8b patch 8.1.2416: loading menus sets v:errmsg
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
47 unlet! g:menutrans_fileformat_dialog
ec92ccff5c8b patch 8.1.2416: loading menus sets v:errmsg
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
48 unlet! g:menutrans_help_dialog
ec92ccff5c8b patch 8.1.2416: loading menus sets v:errmsg
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
49 unlet! g:menutrans_no_file
ec92ccff5c8b patch 8.1.2416: loading menus sets v:errmsg
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
50 unlet! g:menutrans_path_dialog
ec92ccff5c8b patch 8.1.2416: loading menus sets v:errmsg
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
51 unlet! g:menutrans_set_lang_to
ec92ccff5c8b patch 8.1.2416: loading menus sets v:errmsg
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
52 unlet! g:menutrans_spell_add_ARG_to_word_list
ec92ccff5c8b patch 8.1.2416: loading menus sets v:errmsg
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
53 unlet! g:menutrans_spell_change_ARG_to
ec92ccff5c8b patch 8.1.2416: loading menus sets v:errmsg
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
54 unlet! g:menutrans_spell_ignore_ARG
ec92ccff5c8b patch 8.1.2416: loading menus sets v:errmsg
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
55 unlet! g:menutrans_tags_dialog
ec92ccff5c8b patch 8.1.2416: loading menus sets v:errmsg
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
56 unlet! g:menutrans_textwidth_dialog
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
58 " vim: set sw=2 :