]> granicus.if.org Git - postgresql/commit
Add missing error check in regexp parser.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 27 Feb 2013 15:40:20 +0000 (10:40 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 27 Feb 2013 15:40:20 +0000 (10:40 -0500)
commit0c54796b5c7458449152d3f812eee5b6cb014c93
tree6ac4231db4ecd5ba5641d727e95889205761756b
parentc191ec79a10670577090d06414c39ad3ff69f521
Add missing error check in regexp parser.

parseqatom() failed to check for an error return (NULL result) from its
recursive call to parsebranch(), and in consequence could crash with a
null-pointer dereference after an error return.  This bug has been there
since day one, but wasn't noticed before, probably because most error cases
in parsebranch() didn't actually lead to returning NULL.  Add the missing
error check, and also tweak parsebranch() to exit in a less indirect
fashion after a call to parseqatom() fails.

Report by Tomasz Karlik, fix by me.
src/backend/regex/regcomp.c