]> git.ipfire.org Git - thirdparty/vim.git/commit
patch 9.2.0149: Vim9: segfault when unletting an imported variable v9.2.0149
authorChristian Brabandt <cb@256bit.org>
Fri, 13 Mar 2026 16:57:00 +0000 (16:57 +0000)
committerChristian Brabandt <cb@256bit.org>
Fri, 13 Mar 2026 16:57:00 +0000 (16:57 +0000)
commit36971539936b31de44d0bc5a96c8a7b8a88c49b8
tree49f56bda2efbd8cf08f5b76e04775448fb42df49
parent9f983a95605b42dbdc4a8c0f95584a72fc33deeb
patch 9.2.0149: Vim9: segfault when unletting an imported variable

Problem:  do_unlet_var() unconditionally calls dictitem_remove() in its
          final else branch, but for imported items lp->ll_dict is NULL,
          causing a segfault (Peter Kenny)
Solution: Add a NULL check and return E1260 instead.

Affects :unlet at vim9script level and inside legacy :function.
The :def case already worked (handled in vim9cmds.c).

fixes:  #19637
closes: #19657

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
src/evalvars.c
src/testdir/test_vim9_assign.vim
src/version.c