Mercurial > vim
comparison src/ex_cmds.c @ 10970:ab9f7bbe4439 v8.0.0374
patch 8.0.0374: invalid memory access when using :sc in Ex mode
commit https://github.com/vim/vim/commit/ba748c8a847561c043a63827bcb1d98bdebe16e6
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Feb 26 14:00:07 2017 +0100
patch 8.0.0374: invalid memory access when using :sc in Ex mode
Problem: Invalid memory access when using :sc in Ex mode. (Dominique Pelle)
Solution: Avoid the column being negative. Also fix a hang in Ex mode.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 26 Feb 2017 14:15:04 +0100 |
parents | b760fa91f8b3 |
children | 778c10516955 |
comparison
equal
deleted
inserted
replaced
10969:beefabd60ec9 | 10970:ab9f7bbe4439 |
---|---|
5286 print_line_no_prefix(lnum, | 5286 print_line_no_prefix(lnum, |
5287 subflags.do_number, subflags.do_list); | 5287 subflags.do_number, subflags.do_list); |
5288 | 5288 |
5289 getvcol(curwin, &curwin->w_cursor, &sc, NULL, NULL); | 5289 getvcol(curwin, &curwin->w_cursor, &sc, NULL, NULL); |
5290 curwin->w_cursor.col = regmatch.endpos[0].col - 1; | 5290 curwin->w_cursor.col = regmatch.endpos[0].col - 1; |
5291 if (curwin->w_cursor.col < 0) | |
5292 curwin->w_cursor.col = 0; | |
5291 getvcol(curwin, &curwin->w_cursor, NULL, NULL, &ec); | 5293 getvcol(curwin, &curwin->w_cursor, NULL, NULL, &ec); |
5292 if (subflags.do_number || curwin->w_p_nu) | 5294 if (subflags.do_number || curwin->w_p_nu) |
5293 { | 5295 { |
5294 int numw = number_width(curwin) + 1; | 5296 int numw = number_width(curwin) + 1; |
5295 sc += numw; | 5297 sc += numw; |