# HG changeset patch # User Bram Moolenaar # Date 1566649803 -7200 # Node ID c72989922b51ee2f4a9542031e35f1c41b339664 # Parent e128d99502ceed7342b8b59bbf4208bde42247ef patch 8.1.1916: trying to allocate negative amount of memory closing popup Commit: https://github.com/vim/vim/commit/741ea17038d4b227a4433c87d918a9da0737fc50 Author: Bram Moolenaar Date: Sat Aug 24 14:16:32 2019 +0200 patch 8.1.1916: trying to allocate negative amount of memory closing popup Problem: Trying to allocate negative amount of memory when closing a popup. Solution: Check the rows are not out of bounds. Don't finish a selection if it was never started. diff --git a/src/ui.c b/src/ui.c --- a/src/ui.c +++ b/src/ui.c @@ -1184,7 +1184,10 @@ clip_process_selection( if (button == MOUSE_RELEASE) { - /* Check to make sure we have something selected */ + if (cb->state != SELECT_IN_PROGRESS) + return; + + // Check to make sure we have something selected if (cb->start.lnum == cb->end.lnum && cb->start.col == cb->end.col) { #ifdef FEAT_GUI @@ -1591,6 +1594,8 @@ clip_copy_modeless_selection(int both UN col1 = clip_star.min_col; if (col2 > clip_star.max_col) col2 = clip_star.max_col; + if (row1 > clip_star.max_row || row2 < clip_star.min_row) + return; if (row1 < clip_star.min_row) row1 = clip_star.min_row; if (row2 > clip_star.max_row) diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -762,6 +762,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1916, +/**/ 1915, /**/ 1914,