# HG changeset patch # User Bram Moolenaar # Date 1545858905 -3600 # Node ID a7d02a56b5d59c794b76231cd1ccfabdc471b33f # Parent ac8b7be7e2fac5b4c004d7d0ea3e22acdd31c276 patch 8.1.0641: no check for out-of-memory when converting regexp commit https://github.com/vim/vim/commit/c57463c9c6ee893285f553e0ac3b2fe5935f16b8 Author: Bram Moolenaar 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) diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c --- 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); } diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -800,6 +800,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 641, +/**/ 640, /**/ 639,