Patch 8.1.1897

10 views
Skip to first unread message

Bram Moolenaar

unread,
Aug 21, 2019, 6:55:18 AM8/21/19
to vim...@googlegroups.com

Patch 8.1.1897
Problem: May free memory twice when out of memory.
Solution: Check that backslash_halve_save() returns a different pointer.
(Dominique Pelle, closes #4847)
Files: src/cmdexpand.c, src/misc1.c


*** ../vim-8.1.1896/src/cmdexpand.c 2019-08-18 22:25:54.653448052 +0200
--- src/cmdexpand.c 2019-08-21 12:52:56.254778240 +0200
***************
*** 646,662 ****
{
char_u *halved_slash;
char_u *exp_path;

// Expansion was done before and special characters
// were escaped, need to halve backslashes. Also
// $HOME has been replaced with ~/.
exp_path = expand_env_save_opt(files_found[k], TRUE);
! halved_slash = backslash_halve_save(
! exp_path != NULL ? exp_path : files_found[k]);
j = mch_isdir(halved_slash != NULL ? halved_slash
: files_found[k]);
vim_free(exp_path);
! vim_free(halved_slash);
}
else
// Expansion was done here, file names are literal.
--- 646,664 ----
{
char_u *halved_slash;
char_u *exp_path;
+ char_u *path;

// Expansion was done before and special characters
// were escaped, need to halve backslashes. Also
// $HOME has been replaced with ~/.
exp_path = expand_env_save_opt(files_found[k], TRUE);
! path = exp_path != NULL ? exp_path : files_found[k];
! halved_slash = backslash_halve_save(path);
j = mch_isdir(halved_slash != NULL ? halved_slash
: files_found[k]);
vim_free(exp_path);
! if (halved_slash != path)
! vim_free(halved_slash);
}
else
// Expansion was done here, file names are literal.
*** ../vim-8.1.1896/src/misc1.c 2019-08-20 20:13:40.326821952 +0200
--- src/misc1.c 2019-08-21 12:52:56.254778240 +0200
***************
*** 4086,4092 ****
addfile(&ga, t, flags | EW_DIR | EW_FILE);
else
addfile(&ga, t, flags);
! vim_free(t);
}

#if defined(FEAT_SEARCHPATH)
--- 4086,4094 ----
addfile(&ga, t, flags | EW_DIR | EW_FILE);
else
addfile(&ga, t, flags);
!
! if (t != p)
! vim_free(t);
}

#if defined(FEAT_SEARCHPATH)
*** ../vim-8.1.1896/src/version.c 2019-08-20 23:14:11.836090662 +0200
--- src/version.c 2019-08-21 12:50:58.823317797 +0200
***************
*** 767,768 ****
--- 767,770 ----
{ /* Add new patch number below this line */
+ /**/
+ 1897,
/**/

--
From "know your smileys":
:-& Eating spaghetti

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
Reply all
Reply to author
Forward
0 new messages