diff src/regexp_nfa.c @ 15265:a7d02a56b5d5 v8.1.0641

patch 8.1.0641: no check for out-of-memory when converting regexp commit https://github.com/vim/vim/commit/c57463c9c6ee893285f553e0ac3b2fe5935f16b8 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Dec 26 22:04:41 2018 +0100 patch 8.1.0641: no check for out-of-memory when converting regexp Problem: No check for out-of-memory when converting regexp. Solution: Bail out when lalloc() returns NULL. (John Marriott)
author Bram Moolenaar <Bram@vim.org>
date Wed, 26 Dec 2018 22:15:05 +0100
parents ffd834f893aa
children 55ccc2d353bd
line wrap: on
line diff
--- a/src/regexp_nfa.c
+++ b/src/regexp_nfa.c
@@ -3218,8 +3218,10 @@ post2nfa(int *postfix, int *end, int nfa
 
     if (nfa_calc_size == FALSE)
     {
-	/* Allocate space for the stack. Max states on the stack : nstate */
+	// Allocate space for the stack. Max states on the stack: "nstate'.
 	stack = (Frag_T *)lalloc((nstate + 1) * sizeof(Frag_T), TRUE);
+	if (stack == NULL)
+	    return NULL;
 	stackp = stack;
 	stack_end = stack + (nstate + 1);
     }