To: vim-dev@vim.org Subject: Patch 6.2.105 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit ------------ Patch 6.2.105 Problem: When the cursor is past the end of the line when calling get_c_indent() a crash might occur. Solution: Don't look past the end of the line. (NJ Verenini) Files: src/misc1.c *** ../vim-6.2.104/src/misc1.c Sat Sep 27 19:36:47 2003 --- src/misc1.c Fri Sep 26 22:09:58 2003 *************** *** 5064,5076 **** } /* remember where the cursor was when we started */ - cur_curpos = curwin->w_cursor; ! /* get the current contents of the line. * This is required, because only the most recent line obtained with * ml_get is valid! */ - linecopy = vim_strsave(ml_get(cur_curpos.lnum)); if (linecopy == NULL) return 0; --- 5064,5074 ---- } /* remember where the cursor was when we started */ cur_curpos = curwin->w_cursor; ! /* Get a copy of the current contents of the line. * This is required, because only the most recent line obtained with * ml_get is valid! */ linecopy = vim_strsave(ml_get(cur_curpos.lnum)); if (linecopy == NULL) return 0; *************** *** 5079,5086 **** * In insert mode and the cursor is on a ')' truncate the line at the * cursor position. We don't want to line up with the matching '(' when * inserting new stuff. */ ! if ((State & INSERT) && linecopy[curwin->w_cursor.col] == ')') linecopy[curwin->w_cursor.col] = NUL; theline = skipwhite(linecopy); --- 5077,5088 ---- * In insert mode and the cursor is on a ')' truncate the line at the * cursor position. We don't want to line up with the matching '(' when * inserting new stuff. + * For unknown reasons the cursor might be past the end of the line, thus + * check for that. */ ! if ((State & INSERT) ! && curwin->w_cursor.col < STRLEN(linecopy) ! && linecopy[curwin->w_cursor.col] == ')') linecopy[curwin->w_cursor.col] = NUL; theline = skipwhite(linecopy); *** ../vim-6.2.104/src/version.c Sat Sep 27 19:42:53 2003 --- src/version.c Sat Sep 27 19:44:37 2003 *************** *** 632,633 **** --- 638,641 ---- { /* Add new patch number below this line */ + /**/ + 105, /**/ -- hundred-and-one symptoms of being an internet addict: 37. You start looking for hot HTML addresses in public restrooms. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\ \\\ Project leader for A-A-P -- http://www.A-A-P.org /// \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///