Patch 7.2.139
Problem:    Crash when 'virtualedit' is "all". (James Vega)
Solution:   Avoid overflow when column is MAXCOL. (Dominique Pelle)
Files:      src/misc2.c


*** ../vim-7.2.138/src/misc2.c  Tue Feb 24 04:28:40 2009
--- src/misc2.c Wed Mar 11 16:45:05 2009
***************
*** 496,502 ****
  {
      colnr_T len;
  #ifdef FEAT_VIRTUALEDIT
!     colnr_T oldcol = curwin->w_cursor.col + curwin->w_cursor.coladd;
  #endif
  
      len = (colnr_T)STRLEN(ml_get_curline());
--- 496,503 ----
  {
      colnr_T len;
  #ifdef FEAT_VIRTUALEDIT
!     colnr_T oldcol = curwin->w_cursor.col;
!     colnr_T oldcoladd = curwin->w_cursor.col + curwin->w_cursor.coladd;
  #endif
  
      len = (colnr_T)STRLEN(ml_get_curline());
***************
*** 535,541 ****
      if (oldcol == MAXCOL)
        curwin->w_cursor.coladd = 0;
      else if (ve_flags == VE_ALL)
!       curwin->w_cursor.coladd = oldcol - curwin->w_cursor.col;
  #endif
  }
  
--- 536,548 ----
      if (oldcol == MAXCOL)
        curwin->w_cursor.coladd = 0;
      else if (ve_flags == VE_ALL)
!     {
!       if (oldcoladd > curwin->w_cursor.col)
!           curwin->w_cursor.coladd = oldcoladd - curwin->w_cursor.col;
!       else
!           /* avoid weird number when there is a miscalculation or overflow */
!           curwin->w_cursor.coladd = 0;
!     }
  #endif
  }
  
*** ../vim-7.2.138/src/version.c        Wed Mar 11 16:36:04 2009
--- src/version.c       Wed Mar 11 17:26:50 2009
***************
*** 678,679 ****
--- 678,681 ----
  {   /* Add new patch number below this line */
+ /**/
+     139,
  /**/

-- 
Some of the well know MS-Windows errors:
        EHUH            Unexpected error
        EUSER           User error, not our fault!
        EGOD            Horrible problem, god knows what has happened
        EERR            Errornous error: nothing wrong

 /// Bram Moolenaar -- [email protected] -- 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    ///

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui