0
0
mirror of https://github.com/vim/vim.git synced 2025-09-25 03:54:15 -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

@@ -5529,7 +5529,6 @@ ex_call(exarg_T *eap)
}
if (eap->skip)
--emsg_skip;
clear_evalarg(&evalarg, eap);
// When inside :try we need to check for following "| catch" or "| endtry".
// Not when there was an error, but do check if an exception was thrown.
@@ -5549,6 +5548,8 @@ ex_call(exarg_T *eap)
else
set_nextcmd(eap, arg);
}
// Must be after using "arg", it may point into memory cleared here.
clear_evalarg(&evalarg, eap);
end:
dict_unref(fudi.fd_dict);