summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-08-24 14:16:32 +0200
committerBram Moolenaar <Bram@vim.org>2019-08-24 14:16:32 +0200
commit741ea17038d4b227a4433c87d918a9da0737fc50 (patch)
tree575fc89d42638736525fee0ecb20403825009114
parent1a3a89168d61c2fed91cbca812cf1c6983901b79 (diff)
downloadvim-git-741ea17038d4b227a4433c87d918a9da0737fc50.tar.gz
patch 8.1.1916: trying to allocate negative amount of memory closing popupv8.1.1916
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.
-rw-r--r--src/ui.c7
-rw-r--r--src/version.c2
2 files changed, 8 insertions, 1 deletions
diff --git a/src/ui.c b/src/ui.c
index 61f19bc4b..7095eda02 100644
--- 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 UNUSED)
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
index 8ece6f1cb..51851e33b 100644
--- 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,