]> 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:03 +0000 (10:40 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 27 Feb 2013 15:40:03 +0000 (10:40 -0500)
commit73dc003beef859e0b67da463c5e28f5468d3f17f
tree49da5fcc8459ca9efe1e632cc69025ff8cf15d4e
parent08f9728057a485edf5b3a589e70548e1f0da4e53
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