0
0
mirror of https://github.com/vim/vim.git synced 2025-09-25 03:54:15 -04:00

patch 9.0.0820: memory leak with empty shell command

Problem:    Memory leak with empty shell command.
Solution:   Free the empty string.
This commit is contained in:
Bram Moolenaar
2022-10-29 21:53:08 +01:00
parent 1577537f10
commit 03d6e6f42b
2 changed files with 8 additions and 1 deletions

View File

@@ -957,12 +957,15 @@ do_bang(
}
} while (trailarg != NULL);
// Don't clear "prevcmd" if there is no command to run.
// Only set "prevcmd" if there is a command to run, otherwise keep te one
// we have.
if (STRLEN(newcmd) > 0)
{
vim_free(prevcmd);
prevcmd = newcmd;
}
else
free_newcmd = TRUE;
if (bangredo) // put cmd in redo buffer for ! command
{
@@ -986,6 +989,8 @@ do_bang(
*/
if (*p_shq != NUL)
{
if (free_newcmd)
vim_free(newcmd);
newcmd = alloc(STRLEN(prevcmd) + 2 * STRLEN(p_shq) + 1);
if (newcmd == NULL)
return;

View File

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