aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVictor Adam <victor.adam@cofelyineo-gdfsuez.com>2015-06-17 11:38:47 +0200
committerJustin M. Keyes <justinkz@gmail.com>2017-10-22 13:28:02 +0200
commite4a974c7cc6dea53b9457bbd29a4e48f221720cb (patch)
treeb275123c467d6c3f0aa2ac6b995810621e4b6302 /src
parent9db42d4ce99c5b5747e9d83045b37e93d55c4249 (diff)
downloadrneovim-e4a974c7cc6dea53b9457bbd29a4e48f221720cb.tar.gz
rneovim-e4a974c7cc6dea53b9457bbd29a4e48f221720cb.tar.bz2
rneovim-e4a974c7cc6dea53b9457bbd29a4e48f221720cb.zip
plines_win_nofold(): Ignore virtcols after 32000th computation #3527
Avoid crashing or hanging when editing a file than contains ludicrously long lines (more than 100,000,000 virtual columns). The change is in plines_win_nofold, which is called by wrapping and folding code. As a result, wrapping and folding may be done incorrectly when the UI is capable of rendering more than 32000 characters at a time (tiny font). fixes #2838
Diffstat (limited to 'src')
-rw-r--r--src/nvim/misc1.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/nvim/misc1.c b/src/nvim/misc1.c
index 5270687a4d..2f02985875 100644
--- a/src/nvim/misc1.c
+++ b/src/nvim/misc1.c
@@ -1273,7 +1273,7 @@ int plines_win_nofold(win_T *wp, linenr_T lnum)
* Add column offset for 'number', 'relativenumber' and 'foldcolumn'.
*/
width = wp->w_width - win_col_off(wp);
- if (width <= 0) {
+ if (width <= 0 || col > 32000) {
return 32000; // bigger than the number of lines of the screen
}
if (col <= (unsigned int)width) {