patch 8.2.1087: possible memory leak when file expansion fails
Problem: Possible memory leak when file expansion fails.
Solution: Clear the grow array when returning FAIL. Use an error message
instead of an empty string.
diff --git a/src/filepath.c b/src/filepath.c
index 6644e99..a1e281b 100644
--- a/src/filepath.c
+++ b/src/filepath.c
@@ -3813,8 +3813,13 @@
vim_free(p);
}
+ // When returning FAIL the array must be freed here.
+ if (retval == FAIL)
+ ga_clear(&ga);
+
*num_file = ga.ga_len;
- *file = (ga.ga_data != NULL) ? (char_u **)ga.ga_data : (char_u **)"";
+ *file = (ga.ga_data != NULL) ? (char_u **)ga.ga_data
+ : (char_u **)_("no matches");
recursive = FALSE;
diff --git a/src/version.c b/src/version.c
index 6f6e481..f38c978b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1087,
+/**/
1086,
/**/
1085,