ac36d06
To: vim-dev@vim.org
ac36d06
Subject: Patch 7.1.166
ac36d06
Fcc: outbox
ac36d06
From: Bram Moolenaar <Bram@moolenaar.net>
ac36d06
Mime-Version: 1.0
ac36d06
Content-Type: text/plain; charset=ISO-8859-1
ac36d06
Content-Transfer-Encoding: 8bit
ac36d06
------------
ac36d06
ac36d06
Patch 7.1.166
ac36d06
Problem:    Memory leak for using "gp" in Visual mode.
ac36d06
Solution:   Free memory in put_register(). (Dominique Pelle)
ac36d06
Files:	    src/ops.c
ac36d06
ac36d06
ac36d06
*** ../vim-7.1.165/src/ops.c	Thu Nov  8 10:35:02 2007
ac36d06
--- src/ops.c	Sun Nov 25 15:17:43 2007
ac36d06
***************
ac36d06
*** 927,934 ****
ac36d06
      int		name;
ac36d06
      int		copy;	/* make a copy, if FALSE make register empty. */
ac36d06
  {
ac36d06
!     static struct yankreg	*reg;
ac36d06
!     int				i;
ac36d06
  
ac36d06
  #ifdef FEAT_CLIPBOARD
ac36d06
      /* When Visual area changed, may have to update selection.  Obtain the
ac36d06
--- 927,934 ----
ac36d06
      int		name;
ac36d06
      int		copy;	/* make a copy, if FALSE make register empty. */
ac36d06
  {
ac36d06
!     struct yankreg	*reg;
ac36d06
!     int			i;
ac36d06
  
ac36d06
  #ifdef FEAT_CLIPBOARD
ac36d06
      /* When Visual area changed, may have to update selection.  Obtain the
ac36d06
***************
ac36d06
*** 967,973 ****
ac36d06
  }
ac36d06
  
ac36d06
  /*
ac36d06
!  * Put "reg" into register "name".  Free any previous contents.
ac36d06
   */
ac36d06
      void
ac36d06
  put_register(name, reg)
ac36d06
--- 967,973 ----
ac36d06
  }
ac36d06
  
ac36d06
  /*
ac36d06
!  * Put "reg" into register "name".  Free any previous contents and "reg".
ac36d06
   */
ac36d06
      void
ac36d06
  put_register(name, reg)
ac36d06
***************
ac36d06
*** 977,982 ****
ac36d06
--- 977,983 ----
ac36d06
      get_yank_register(name, 0);
ac36d06
      free_yank_all();
ac36d06
      *y_current = *(struct yankreg *)reg;
ac36d06
+     vim_free(reg);
ac36d06
  
ac36d06
  # ifdef FEAT_CLIPBOARD
ac36d06
      /* Send text written to clipboard register to the clipboard. */
ac36d06
*** ../vim-7.1.165/src/version.c	Sat Dec  1 17:18:45 2007
ac36d06
--- src/version.c	Sat Dec  1 21:11:25 2007
ac36d06
***************
ac36d06
*** 668,669 ****
ac36d06
--- 668,671 ----
ac36d06
  {   /* Add new patch number below this line */
ac36d06
+ /**/
ac36d06
+     166,
ac36d06
  /**/
ac36d06
ac36d06
-- 
ac36d06
An error has occurred.  Hit any user to continue.
ac36d06
ac36d06
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
ac36d06
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
ac36d06
\\\        download, build and distribute -- http://www.A-A-P.org        ///
ac36d06
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///