Mercurial > vim
comparison src/ex_docmd.c @ 13082:a80082fd1a1d v8.0.1416
patch 8.0.1416: crash when searching for a sentence
commit https://github.com/vim/vim/commit/8ada6aa9298b4764d9ca0024dd21b17e815595ce
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Dec 19 21:23:21 2017 +0100
patch 8.0.1416: crash when searching for a sentence
Problem: Crash when searching for a sentence.
Solution: Return NUL when getting character at MAXCOL. (closes https://github.com/vim/vim/issues/2468)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 19 Dec 2017 21:30:05 +0100 |
parents | 79a754456110 |
children | 6559e98f3e74 |
comparison
equal
deleted
inserted
replaced
13081:25aefadfcd81 | 13082:a80082fd1a1d |
---|---|
4519 * from there. | 4519 * from there. |
4520 */ | 4520 */ |
4521 if (lnum != MAXLNUM) | 4521 if (lnum != MAXLNUM) |
4522 curwin->w_cursor.lnum = lnum; | 4522 curwin->w_cursor.lnum = lnum; |
4523 /* | 4523 /* |
4524 * Start a forward search at the end of the line. | 4524 * Start a forward search at the end of the line (unless |
4525 * before the first line). | |
4525 * Start a backward search at the start of the line. | 4526 * Start a backward search at the start of the line. |
4526 * This makes sure we never match in the current | 4527 * This makes sure we never match in the current |
4527 * line, and can match anywhere in the | 4528 * line, and can match anywhere in the |
4528 * next/previous line. | 4529 * next/previous line. |
4529 */ | 4530 */ |
4530 if (c == '/') | 4531 if (c == '/' && curwin->w_cursor.lnum > 0) |
4531 curwin->w_cursor.col = MAXCOL; | 4532 curwin->w_cursor.col = MAXCOL; |
4532 else | 4533 else |
4533 curwin->w_cursor.col = 0; | 4534 curwin->w_cursor.col = 0; |
4534 searchcmdlen = 0; | 4535 searchcmdlen = 0; |
4535 if (!do_search(NULL, c, cmd, 1L, | 4536 if (!do_search(NULL, c, cmd, 1L, |