Mercurial > vim
view .hgignore @ 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 | 7aeaf20e2ba5 |
children | 6e66a52748d0 |
line wrap: on
line source
syntax: glob # Unixen: object and executable files. *.o src/vim src/xxd/xxd src/auto/if_perl.c src/auto/gui_gtk_gresources.c src/auto/gui_gtk_gresources.h src/auto/os_haiku.rdef src/objects/.dirstamp src/objects src/types.vim # We do need src/auto/configure. src/auto/config.cache src/auto/config.h src/auto/config.log src/auto/config.mk src/auto/config.status src/auto/osdef.h src/auto/link.log src/auto/link.sed src/auto/pathdef.c # Windows *.exe *.idb *.exp *.map *.obj *.pdb *.ilk *.sln *.suo *.res *.RES vim*.dll vim*.lib src/dobj*/pathdef.c src/gobj*/pathdef.c src/obj*/pathdef.c src/Obj*/pathdef.c gvimext.dll gvimext.lib gvim.lib runtime/doc/uganda.nsis.txt nsis/icons/* /vim90/ .vscode/ # NetBeans nbproject/* # Mac OSX src/xxd/xxd.dSYM .DS_Store # All platforms *.rej *.orig *.mo *.swp *~ *.pyc *.log src/po/vim.pot src/tags /tags /GPATH /GTAGS /GRTAGS nsis/tags # Generated by "make test" src/po/*.ck src/po/*.desktop src/testdir/mbyte.vim src/testdir/mzscheme.vim src/testdir/lua.vim src/testdir/small.vim src/testdir/tiny.vim src/testdir/test*.out src/testdir/test*.failed src/testdir/test.log src/testdir/dostmp/* src/testdir/messages src/testdir/viminfo src/testdir/opt_test.vim src/testdir/failed src/testdir/starttime runtime/indent/testdir/*.out runtime/indent/testdir/*.fail src/memfile_test src/json_test src/message_test src/kword_test # Generated by "make install" runtime/doc/doctags # Generated by "make shadow". The directory names could be anything but we # restrict them to shadow (the default) or shadow-* src/shadow src/shadow-* src/runtime src/pixmaps # other files possibly created by tools src/cscope.out # Linter/language server files /.cache/clangd/ /.ccls-cache/ /compile_commands.json