0
0
mirror of https://github.com/vim/vim.git synced 2025-10-27 09:24:23 -04:00

patch 8.2.4782: accessing freed memory

Problem:    Accessing freed memory.
Solution:   Clear evalarg after checking for trailing characters.
            (issue #10218)
This commit is contained in:
Bram Moolenaar
2022-04-18 15:21:17 +01:00
parent d0a20c9d11
commit a929c922b1
3 changed files with 20 additions and 1 deletions

View File

@@ -1,6 +1,7 @@
" Test for lambda and closure
source check.vim
import './vim9.vim' as v9
func Test_lambda_feature()
call assert_equal(1, has('lambda'))
@@ -54,6 +55,21 @@ func Test_lambda_with_timer()
call assert_true(s:n > m)
endfunc
func Test_lambda_vim9cmd_linebreak()
CheckFeature timers
let lines =<< trim END
vim9cmd call timer_start(10, (x) => {
# comment
g:result = 'done'
})
END
call v9.CheckScriptSuccess(lines)
sleep 50m
call assert_equal('done', g:result)
unlet g:result
endfunc
func Test_lambda_with_partial()
let l:Cb = function({... -> ['zero', a:1, a:2, a:3]}, ['one', 'two'])
call assert_equal(['zero', 'one', 'two', 'three'], l:Cb('three'))