changeset 18945:c62d63d2b9f0 v8.2.0033

patch 8.2.0033: crash when make_extmatch() runs out of memory Commit: https://github.com/vim/vim/commit/7c77b3496710f1be3232cfdc7f6812347fbd914a Author: Bram Moolenaar <Bram@vim.org> Date: Sun Dec 22 19:40:40 2019 +0100 patch 8.2.0033: crash when make_extmatch() runs out of memory Problem: Crash when make_extmatch() runs out of memory. Solution: Check for NULL. (Dominique Pelle, closs https://github.com/vim/vim/issues/5392)
author Bram Moolenaar <Bram@vim.org>
date Sun, 22 Dec 2019 19:45:03 +0100
parents e90fc3f5a0ae
children 59c8d375c1ec
files src/regexp_bt.c src/regexp_nfa.c src/version.c
diffstat 3 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/regexp_bt.c
+++ b/src/regexp_bt.c
@@ -4568,6 +4568,8 @@ regtry(
 
 	cleanup_zsubexpr();
 	re_extmatch_out = make_extmatch();
+	if (re_extmatch_out == NULL)
+	    return 0;
 	for (i = 0; i < NSUBEXP; i++)
 	{
 	    if (REG_MULTI)
--- a/src/regexp_nfa.c
+++ b/src/regexp_nfa.c
@@ -7070,6 +7070,8 @@ nfa_regtry(
     {
 	cleanup_zsubexpr();
 	re_extmatch_out = make_extmatch();
+	if (re_extmatch_out == NULL)
+	    return 0;
 	// Loop over \z1, \z2, etc.  There is no \z0.
 	for (i = 1; i < subs.synt.in_use; i++)
 	{
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    33,
+/**/
     32,
 /**/
     31,