0
0
mirror of https://github.com/vim/vim.git synced 2025-09-26 04:04:07 -04:00

updated for version 7.3.360

Problem:    Interrupting the load of an autoload function may cause a crash.
Solution:   Do not use the hashitem when not valid. (Yukihiro Nakadaira)
This commit is contained in:
Bram Moolenaar
2011-11-30 15:19:28 +01:00
parent 195ea0ff6c
commit 8000baffa7
2 changed files with 9 additions and 2 deletions

View File

@@ -19589,9 +19589,14 @@ find_var_in_ht(ht, varname, writing)
* worked find the variable again. Don't auto-load a script if it was
* loaded already, otherwise it would be loaded every time when
* checking if a function name is a Funcref variable. */
if (ht == &globvarht && !writing
&& script_autoload(varname, FALSE) && !aborting())
if (ht == &globvarht && !writing)
{
/* Note: script_autoload() may make "hi" invalid. It must either
* be obtained again or not used. */
if (!script_autoload(varname, FALSE) || aborting())
return NULL;
hi = hash_find(ht, varname);
}
if (HASHITEM_EMPTY(hi))
return NULL;
}