aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/gist/gistproc.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2016-07-01 11:40:22 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2016-07-01 11:40:22 -0400
commit40d0bd8d5e0fa86ece5f8ad9489adab0a30dca9a (patch)
treec2eab252f211f0c3e9f771329df26cd5c7df5cb9 /src/backend/access/gist/gistproc.c
parent8f4a369c28be28351ce64e12ac895db515dd5916 (diff)
downloadpostgresql-40d0bd8d5e0fa86ece5f8ad9489adab0a30dca9a.tar.gz
postgresql-40d0bd8d5e0fa86ece5f8ad9489adab0a30dca9a.zip
Be more paranoid in ruleutils.c's get_variable().
We were merely Assert'ing that the Var matched the RTE it's supposedly from. But if the user passes incorrect information to pg_get_expr(), the RTE might in fact not match; this led either to Assert failures or core dumps, as reported by Chris Hanks in bug #14220. To fix, just convert the Asserts to test-and-elog. Adjust an existing test-and-elog elsewhere in the same function to be consistent in wording. (If we really felt these were user-facing errors, we might promote them to ereport's; but I can't convince myself that they're worth translating.) Back-patch to 9.3; the problematic code doesn't exist before that, and a quick check says that 9.2 doesn't crash on such cases. Michael Paquier and Thomas Munro Report: <20160629224349.1407.32667@wrigleys.postgresql.org>
Diffstat (limited to 'src/backend/access/gist/gistproc.c')
0 files changed, 0 insertions, 0 deletions