mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
patch 8.1.0843: memory leak when running "make test_cd"
Problem: Memory leak when running "make test_cd". Solution: Free the stack element when failing. (Dominique Pelle, closes #3877)
This commit is contained in:
15
src/misc2.c
15
src/misc2.c
@@ -4657,8 +4657,11 @@ vim_findfile(void *search_ctx_arg)
|
||||
add_pathsep(file_path);
|
||||
}
|
||||
else
|
||||
{
|
||||
ff_free_stack_element(stackp);
|
||||
goto fail;
|
||||
}
|
||||
}
|
||||
|
||||
/* append the fix part of the search path */
|
||||
if (STRLEN(file_path) + STRLEN(stackp->ffs_fix_path) + 1 < MAXPATHL)
|
||||
@@ -4667,7 +4670,10 @@ vim_findfile(void *search_ctx_arg)
|
||||
add_pathsep(file_path);
|
||||
}
|
||||
else
|
||||
{
|
||||
ff_free_stack_element(stackp);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
#ifdef FEAT_PATH_EXTRA
|
||||
rest_of_wildcards = stackp->ffs_wc_path;
|
||||
@@ -4687,8 +4693,11 @@ vim_findfile(void *search_ctx_arg)
|
||||
if (len + 1 < MAXPATHL)
|
||||
file_path[len++] = '*';
|
||||
else
|
||||
{
|
||||
ff_free_stack_element(stackp);
|
||||
goto fail;
|
||||
}
|
||||
}
|
||||
|
||||
if (*p == 0)
|
||||
{
|
||||
@@ -4718,7 +4727,10 @@ vim_findfile(void *search_ctx_arg)
|
||||
if (len + 1 < MAXPATHL)
|
||||
file_path[len++] = *rest_of_wildcards++;
|
||||
else
|
||||
{
|
||||
ff_free_stack_element(stackp);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
file_path[len] = NUL;
|
||||
if (vim_ispathsep(*rest_of_wildcards))
|
||||
@@ -4787,7 +4799,10 @@ vim_findfile(void *search_ctx_arg)
|
||||
STRCAT(file_path, search_ctx->ffsc_file_to_search);
|
||||
}
|
||||
else
|
||||
{
|
||||
ff_free_stack_element(stackp);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
/*
|
||||
* Try without extra suffix and then with suffixes
|
||||
|
@@ -783,6 +783,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
843,
|
||||
/**/
|
||||
842,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user