Fix some possible low-memory failures in regexp compilation.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 12 Aug 2015 04:48:11 +0000 (00:48 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 12 Aug 2015 04:48:48 +0000 (00:48 -0400)
commit7a801ba8ce7befc2309ece2ca918eb688c67fda9
tree69b407637610ebfa8cfb72a81d847dba0c2a1d94
parent34f1a85e513d56980417afe4b47454ffe951bb26
Fix some possible low-memory failures in regexp compilation.

newnfa() failed to set the regex error state when malloc() fails.
Several places in regcomp.c failed to check for an error after calling
subre().  Each of these mistakes could lead to null-pointer-dereference
crashes in memory-starved backends.

Report and patch by Andreas Seltenreich.  Back-patch to all branches.
src/backend/regex/regc_nfa.c
src/backend/regex/regcomp.c