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

updated for version 7.4.297

Problem:    Memory leak from result of get_isolated_shell_name().
Solution:   Free the memory. (Dominique Pelle)
This commit is contained in:
Bram Moolenaar 2014-05-22 14:00:16 +02:00
parent 1c5a2134db
commit 050fe7ebad
3 changed files with 6 additions and 2 deletions

View File

@ -1554,9 +1554,11 @@ make_filter_cmd(cmd, itmp, otmp)
#if (defined(UNIX) && !defined(ARCHIE)) || defined(OS2) #if (defined(UNIX) && !defined(ARCHIE)) || defined(OS2)
int is_fish_shell; int is_fish_shell;
char_u *shell_name = get_isolated_shell_name();
/* Account for fish's different syntax for subshells */ /* Account for fish's different syntax for subshells */
is_fish_shell = (fnamecmp(get_isolated_shell_name(), "fish") == 0); is_fish_shell = (fnamecmp(shell_name, "fish") == 0);
vim_free(shell_name);
if (is_fish_shell) if (is_fish_shell)
len = (long_u)STRLEN(cmd) + 13; /* "begin; " + "; end" + NUL */ len = (long_u)STRLEN(cmd) + 13; /* "begin; " + "; end" + NUL */
else else

View File

@ -10874,7 +10874,7 @@ goto_im()
} }
/* /*
* Returns the isolated name of the shell: * Returns the isolated name of the shell in allocated memory:
* - Skip beyond any path. E.g., "/usr/bin/csh -f" -> "csh -f". * - Skip beyond any path. E.g., "/usr/bin/csh -f" -> "csh -f".
* - Remove any argument. E.g., "csh -f" -> "csh". * - Remove any argument. E.g., "csh -f" -> "csh".
* But don't allow a space in the path, so that this works: * But don't allow a space in the path, so that this works:

View File

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