summaryrefslogtreecommitdiff
path: root/source/ap/vim/patches/7.2.195
blob: 5669a65f9436e8f6d1990a70877ae47c0491840d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
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    ///