Mercurial > vim
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 |
rev | line source |
---|---|
7 | 1 " This Vim script deletes all the menus, so that they can be redefined. |
2 " Warning: This also deletes all menus defined by the user! | |
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 | 7 |
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 | 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 | 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 | 42 endif |
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 | 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 | 57 |
58 " vim: set sw=2 : |