1
0
forked from aniani/vim

patch 8.1.0192: executing regexp recursively fails with a crash

Problem:    Executing regexp recursively fails with a crash.
Solution:   Move global variables into "rex".
This commit is contained in:
Bram Moolenaar
2018-07-17 05:43:58 +02:00
parent 3166afd945
commit 0270f38e1a
4 changed files with 434 additions and 413 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -50,8 +50,9 @@ typedef struct regprog
{ {
regengine_T *engine; regengine_T *engine;
unsigned regflags; unsigned regflags;
unsigned re_engine; /* automatic, backtracking or nfa engine */ unsigned re_engine; // automatic, backtracking or nfa engine
unsigned re_flags; /* second argument for vim_regcomp() */ unsigned re_flags; // second argument for vim_regcomp()
int re_in_use; // prog is being executed
} regprog_T; } regprog_T;
/* /*
@@ -65,7 +66,8 @@ typedef struct
regengine_T *engine; regengine_T *engine;
unsigned regflags; unsigned regflags;
unsigned re_engine; unsigned re_engine;
unsigned re_flags; /* second argument for vim_regcomp() */ unsigned re_flags;
int re_in_use;
int regstart; int regstart;
char_u reganch; char_u reganch;
@@ -101,7 +103,8 @@ typedef struct
regengine_T *engine; regengine_T *engine;
unsigned regflags; unsigned regflags;
unsigned re_engine; unsigned re_engine;
unsigned re_flags; /* second argument for vim_regcomp() */ unsigned re_flags;
int re_in_use;
nfa_state_T *start; /* points into state[] */ nfa_state_T *start; /* points into state[] */

File diff suppressed because it is too large Load Diff

View File

@@ -789,6 +789,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
192,
/**/ /**/
191, 191,
/**/ /**/