diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2019-07-21 14:40:32 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-21 14:40:32 +0200 |
commit | 9d0f8224c97b36116f3c0523bcf6941382892a5b (patch) | |
tree | 474781d9dd71c62ab9377faa1641321c173f1a85 /src/nvim/regexp.c | |
parent | d20bbc802245cc14176028bf209ae3a7e81e21c4 (diff) | |
parent | a63b95b315673354df9c42efcff248cacca45669 (diff) | |
download | rneovim-9d0f8224c97b36116f3c0523bcf6941382892a5b.tar.gz rneovim-9d0f8224c97b36116f3c0523bcf6941382892a5b.tar.bz2 rneovim-9d0f8224c97b36116f3c0523bcf6941382892a5b.zip |
Merge #10555 from janlazo/vim-8.1.1720
vim-patch:8.1.{856,1720}
Diffstat (limited to 'src/nvim/regexp.c')
-rw-r--r-- | src/nvim/regexp.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/nvim/regexp.c b/src/nvim/regexp.c index 8598da6376..eb1e565b1f 100644 --- a/src/nvim/regexp.c +++ b/src/nvim/regexp.c @@ -2058,10 +2058,14 @@ static char_u *regatom(int *flagp) EMSG2_RET_NULL(_(e_missing_sb), reg_magic == MAGIC_ALL); br = regnode(BRANCH); - if (ret == NULL) + if (ret == NULL) { ret = br; - else + } else { regtail(lastnode, br); + if (reg_toolong) { + return NULL; + } + } ungetchr(); one_exactly = TRUE; @@ -2083,6 +2087,9 @@ static char_u *regatom(int *flagp) for (br = ret; br != lastnode; ) { if (OP(br) == BRANCH) { regtail(br, lastbranch); + if (reg_toolong) { + return NULL; + } br = OPERAND(br); } else br = regnext(br); |