mirror of
https://github.com/neovim/neovim.git
synced 2025-09-09 04:48:18 +00:00
vim-patch:8.1.0917: double free when running out of memory
Problem: Double free when running out of memory.
Solution: Remove one free. (Ken Takata, closes vim/vim#3955)
445e71c5ee
This commit is contained in:
@@ -170,6 +170,7 @@ int get_lambda_tv(char_u **arg, typval_T *rettv, bool evaluate)
|
|||||||
garray_T newargs = GA_EMPTY_INIT_VALUE;
|
garray_T newargs = GA_EMPTY_INIT_VALUE;
|
||||||
garray_T *pnewargs;
|
garray_T *pnewargs;
|
||||||
ufunc_T *fp = NULL;
|
ufunc_T *fp = NULL;
|
||||||
|
partial_T *pt = NULL;
|
||||||
int varargs;
|
int varargs;
|
||||||
int ret;
|
int ret;
|
||||||
char_u *start = skipwhite(*arg + 1);
|
char_u *start = skipwhite(*arg + 1);
|
||||||
@@ -219,7 +220,6 @@ int get_lambda_tv(char_u **arg, typval_T *rettv, bool evaluate)
|
|||||||
int len, flags = 0;
|
int len, flags = 0;
|
||||||
char_u *p;
|
char_u *p;
|
||||||
char_u name[20];
|
char_u name[20];
|
||||||
partial_T *pt;
|
|
||||||
garray_T newlines;
|
garray_T newlines;
|
||||||
|
|
||||||
lambda_no++;
|
lambda_no++;
|
||||||
@@ -274,6 +274,7 @@ int get_lambda_tv(char_u **arg, typval_T *rettv, bool evaluate)
|
|||||||
errret:
|
errret:
|
||||||
ga_clear_strings(&newargs);
|
ga_clear_strings(&newargs);
|
||||||
xfree(fp);
|
xfree(fp);
|
||||||
|
xfree(pt);
|
||||||
eval_lavars_used = old_eval_lavars;
|
eval_lavars_used = old_eval_lavars;
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user