To: vim-dev@vim.org
Subject: Patch 7.2.195
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.195
Problem: Leaking memory for the command Vim was started with.
Solution: Remember the pointer and free it.
Files: src/gui_gtk_x11.c
*** ../vim-7.2.194/src/gui_gtk_x11.c 2009-05-17 16:23:20.000000000 +0200
--- src/gui_gtk_x11.c 2009-06-03 12:44:31.000000000 +0200
***************
*** 412,417 ****
--- 412,418 ----
#endif
#if defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION)
static const char *restart_command = NULL;
+ static char *abs_restart_command = NULL;
#endif
static int found_iconic_arg = FALSE;
***************
*** 449,456 ****
char_u buf[MAXPATHL];
if (mch_FullName((char_u *)argv[0], buf, (int)sizeof(buf), TRUE) == OK)
! /* Tiny leak; doesn't matter, and usually we don't even get here */
! restart_command = (char *)vim_strsave(buf);
}
#endif
--- 450,459 ----
char_u buf[MAXPATHL];
if (mch_FullName((char_u *)argv[0], buf, (int)sizeof(buf), TRUE) == OK)
! {
! abs_restart_command = (char *)vim_strsave(buf);
! restart_command = abs_restart_command;
! }
}
#endif
***************
*** 611,616 ****
--- 614,622 ----
gui_mch_free_all()
{
vim_free(gui_argv);
+ #if defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION)
+ vim_free(abs_restart_command);
+ #endif
}
#endif
*** ../vim-7.2.194/src/version.c 2009-06-03 15:05:05.000000000 +0200
--- src/version.c 2009-06-03 16:19:00.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 195,
/**/
--
I think that you'll agree that engineers are very effective in their social
interactions. It's the "normal" people who are nuts.
(Scott Adams - The Dilbert principle)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///