patch 9.1.0193: May leak memory in completion when ga_grow() fails
Commit:
https://github.com/vim/vim/commit/70e566b0bd29189b1baf3dc915b6a98de36fbded
Author: zeertzjq <
zeer...@outlook.com>
Date: Thu Mar 21 07:11:58 2024 +0100
patch 9.1.0193: May leak memory in completion when ga_grow() fails
Problem: May leak memory in completion when ga_grow() fails.
Solution: Free "wca" when ga_grow() fails (zeertzjq).
fixes: #14248
closes: #14249
Signed-off-by: zeertzjq <
zeer...@outlook.com>
Signed-off-by: Christian Brabandt <
c...@256bit.org>
diff --git a/src/insexpand.c b/src/insexpand.c
index 63f2e3814..c080d60cd 100644
--- a/src/insexpand.c
+++ b/src/insexpand.c
@@ -653,7 +653,10 @@ ins_compl_infercase_gettext(
// getting to six bytes from the edge of IObuff switch to using a
// growarray. Add the character in the next round.
if (ga_grow(&gap, IOSIZE) == FAIL)
+ {
+ vim_free(wca);
return (char_u *)"[failed]";
+ }
*p = NUL;
STRCPY(gap.ga_data, IObuff);
gap.ga_len = (int)STRLEN(IObuff);
diff --git a/src/version.c b/src/version.c
index dc97d9bda..8fa2f694d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 193,
/**/
192,
/**/