To: vim-dev@vim.org Subject: Patch 7.2.195 Fcc: outbox From: Bram Moolenaar 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 ///