Problem: def_function() may return pointer that was freed.
Solution: Set "fp" to NULL after freeing it.
if (fudi.fd_di == NULL)
{
vim_free(fp);
+ fp = NULL;
goto erret;
}
if (dict_add(fudi.fd_dict, fudi.fd_di) == FAIL)
{
vim_free(fudi.fd_di);
vim_free(fp);
+ fp = NULL;
goto erret;
}
}
else if (hash_add(&func_hashtab, UF2HIKEY(fp)) == FAIL)
{
vim_free(fp);
+ fp = NULL;
goto erret;
}
fp->uf_refcount = 1;
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 825,
/**/
824,
/**/