mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
patch 8.1.1485: double free when garbage_collect() is used in autocommand
Problem: Double free when garbage_collect() is used in autocommand. Solution: Have garbage collection also set the copyID in funccal_stack.
This commit is contained in:
@@ -430,12 +430,11 @@ eval_clear(void)
|
||||
vim_free(SCRIPT_SV(i));
|
||||
ga_clear(&ga_scripts);
|
||||
|
||||
// functions need to be freed before gargabe collecting, otherwise local
|
||||
// variables might be freed twice.
|
||||
free_all_functions();
|
||||
|
||||
// unreferenced lists and dicts
|
||||
(void)garbage_collect(FALSE);
|
||||
|
||||
// functions not garbage collected
|
||||
free_all_functions();
|
||||
}
|
||||
#endif
|
||||
|
||||
|
Reference in New Issue
Block a user