Mercurial > vim
changeset 34603:02fbe0bd9418 v9.1.0193
patch 9.1.0193: May leak memory in completion when ga_grow() fails
Commit: https://github.com/vim/vim/commit/70e566b0bd29189b1baf3dc915b6a98de36fbded
Author: zeertzjq <zeertzjq@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 <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 21 Mar 2024 07:15:05 +0100 |
parents | c7680d286e1f |
children | a7f393b7affb |
files | src/insexpand.c src/version.c |
diffstat | 2 files changed, 5 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- 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);