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)
diff --git a/src/misc2.c b/src/misc2.c
index ca8f56d..df3f8e1 100644
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -4657,7 +4657,10 @@
add_pathsep(file_path);
}
else
+ {
+ ff_free_stack_element(stackp);
goto fail;
+ }
}
/* append the fix part of the search path */
@@ -4667,7 +4670,10 @@
add_pathsep(file_path);
}
else
+ {
+ ff_free_stack_element(stackp);
goto fail;
+ }
#ifdef FEAT_PATH_EXTRA
rest_of_wildcards = stackp->ffs_wc_path;
@@ -4687,7 +4693,10 @@
if (len + 1 < MAXPATHL)
file_path[len++] = '*';
else
+ {
+ ff_free_stack_element(stackp);
goto fail;
+ }
}
if (*p == 0)
@@ -4718,7 +4727,10 @@
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 @@
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
diff --git a/src/version.c b/src/version.c
index c8bb2f7..e78fde7 100644
--- a/src/version.c
+++ b/src/version.c
@@ -784,6 +784,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 843,
+/**/
842,
/**/
841,