1
0
forked from aniani/vim

patch 7.4.2139

Problem:    :delfunction causes illegal memory access.
Solution:   Correct logic when deciding to free a function.
This commit is contained in:
Bram Moolenaar
2016-08-01 16:29:47 +02:00
parent 2d3d60a7d4
commit 0588d4f9d2
3 changed files with 5 additions and 4 deletions

View File

@@ -2711,7 +2711,7 @@ ex_delfunction(exarg_T *eap)
* Numbered functions and lambdas snould be kept if the refcount is
* one or more. */
if (fp->uf_refcount > (isdigit(fp->uf_name[0])
|| fp->uf_name[0] == '<') ? 0 : 1)
|| fp->uf_name[0] == '<' ? 0 : 1))
{
/* Function is still referenced somewhere. Don't free it but
* do remove it from the hashtable. */