]> granicus.if.org Git - postgresql/commit
Check get_tle_by_resno() result before deref
authorStephen Frost <sfrost@snowman.net>
Mon, 15 Jul 2013 18:53:17 +0000 (14:53 -0400)
committerStephen Frost <sfrost@snowman.net>
Mon, 15 Jul 2013 19:04:19 +0000 (15:04 -0400)
commit4ed22e891f9915b02b753ee8763a8f2438234fc6
treec87b8fa747d27c5fed0f902d41e862b2aa7c37d1
parent4403a9d7913043d99de9e13a9b54c57ed0c4501c
Check get_tle_by_resno() result before deref

When creating a sort to support a group by, we need to look up the
target entry in the target list by the resno using get_tle_by_resno().
This particular code-path didn't check the result prior to attempting
to dereference it, while all other callers did.  While I can't see a
way for this usage of get_tle_by_resno() to fail (you can't ask for
a column to be sorted on which isn't included in the group by), it's
probably best to check that we didn't end up with a NULL somehow
anyway than risk the segfault.

I'm willing to back-patch this if others feel it's necessary, but my
guess is new features are what might tickle this rather than anything
existing.

Missing check spotted by the Coverity scanner.
src/backend/optimizer/plan/createplan.c