0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

patch 8.1.2372: VMS: failing realloc leaks memory

Problem:    VMS: failing realloc leaks memory. (Chakshu Gupta)
Solution:   Free the memory. (partly fixes #5292)
This commit is contained in:
Bram Moolenaar 2019-11-30 22:57:53 +01:00
parent 05ad5ff0ab
commit 9625d3d92d
2 changed files with 12 additions and 2 deletions

View File

@ -404,12 +404,17 @@ vms_wproc(char *name, int val)
return 1;
}
if (--vms_match_free == 0) {
char_u **old_vms_fmatch = vms_fmatch;
/* add more space to store matches */
vms_match_alloced += EXPL_ALLOC_INC;
vms_fmatch = vim_realloc(vms_fmatch,
vms_fmatch = vim_realloc(old_vms_fmatch,
sizeof(char **) * vms_match_alloced);
if (!vms_fmatch)
{
vim_free(old_vms_fmatch);
return 0;
}
vms_match_free = EXPL_ALLOC_INC;
}
vms_fmatch[vms_match_num] = vim_strsave((char_u *)name);
@ -489,10 +494,13 @@ mch_expand_wildcards(int num_pat, char_u **pat, int *num_file, char_u ***file, i
/* allocate memory for pointers */
if (--files_free < 1)
{
char_u **old_file = *file;
files_alloced += EXPL_ALLOC_INC;
*file = vim_realloc(*file, sizeof(char_u **) * files_alloced);
*file = vim_realloc(old_file, sizeof(char_u **) * files_alloced);
if (*file == NULL)
{
vim_free(old_file);
*file = (char_u **)"";
*num_file = 0;
return(FAIL);

View File

@ -742,6 +742,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
2372,
/**/
2371,
/**/