From fe4bbac1166f2e4e3fa18cb966ec7305198c8176 Mon Sep 17 00:00:00 2001
From: Bram Moolenaar <Bram@vim.org>
Date: Mon, 20 Jan 2020 21:12:20 +0100
Subject: [PATCH] patch 8.2.0135: bracketed paste can still cause invalid
 memory access
Problem:    Bracketed paste can still cause invalid memory access. (Dominique
            Pelle)
Solution:   Check for NULL pointer.
Reference:https://github.com/vim/vim/commit/fe4bbac1166f2e4e3fa18cb966ec7305198c8176
Conflict:The src/version.c file is not modified.
---
 src/edit.c                  | 2 +-
 src/testdir/test_search.vim | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/edit.c b/src/edit.c
index f822a79..1b7d368 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -4942,7 +4942,7 @@ bracketed_paste(paste_mode_T mode, int drop, garray_T *gap)
     int		save_paste = p_paste;
 
     // If the end code is too long we can't detect it, read everything.
-    if (STRLEN(end) >= NUMBUFLEN)
+    if (end != NULL && STRLEN(end) >= NUMBUFLEN)
 	end = NULL;
     ++no_mapping;
     allow_keys = 0;
diff --git a/src/testdir/test_search.vim b/src/testdir/test_search.vim
index c8020eb..4bf0b2d 100644
--- a/src/testdir/test_search.vim
+++ b/src/testdir/test_search.vim
@@ -1368,6 +1368,7 @@ func Test_searchdecl()
 endfunc
 
 func Test_search_special()
-  " this was causing illegal memory access
+  " this was causing illegal memory access and an endless loop
+  set t_PE=
   exe "norm /\x80PS"
 endfunc
-- 
2.27.0
