diff options
author | Bram Moolenaar <Bram@vim.org> | 2017-08-01 15:14:26 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2017-08-01 15:14:26 +0200 |
commit | 983b3a5bc44a91cc7e40b8e71e3bfdb03dd4606f (patch) | |
tree | cf84f10c5b0cf968e84893825fe4a5c25000ea46 /src/regexp_nfa.c | |
parent | 979e8c534684737920c1891bf9c4af9e1fdb8c3b (diff) | |
download | vim-git-983b3a5bc44a91cc7e40b8e71e3bfdb03dd4606f.tar.gz |
patch 8.0.0828: Coverity: may dereference NULL pointerv8.0.0828
Problem: Coverity: may dereference NULL pointer.
Solution: Bail out if calloc_state() returns NULL.
Diffstat (limited to 'src/regexp_nfa.c')
-rw-r--r-- | src/regexp_nfa.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c index 804d742ab..40d6605f0 100644 --- a/src/regexp_nfa.c +++ b/src/regexp_nfa.c @@ -3527,7 +3527,11 @@ post2nfa(int *postfix, int *end, int nfa_calc_size) { /* NFA_ZEND -> NFA_END_PATTERN -> NFA_SKIP -> what follows. */ skip = alloc_state(NFA_SKIP, NULL, NULL); + if (skip == NULL) + goto theend; zend = alloc_state(NFA_ZEND, s1, NULL); + if (zend == NULL) + goto theend; s1->out= skip; patch(e.out, zend); PUSH(frag(s, list1(&skip->out))); |