]> granicus.if.org Git - postgresql/commit
Fix unsafe memory management in CloneRowTriggersToPartition().
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 3 Jun 2019 20:59:16 +0000 (16:59 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 3 Jun 2019 20:59:16 +0000 (16:59 -0400)
commit601084eb1aa8f1ae5303d9cf130d5b8cc385b517
tree94287951e04d95b2c7d04f2ba81ac24103905775
parent3c461d510dc5af7a7c4d4947ad7c2ef703e3646c
Fix unsafe memory management in CloneRowTriggersToPartition().

It's not really supported to call systable_getnext() in a different
memory context than systable_beginscan() was called in, and it's
*definitely* not safe to do so and then reset that context between
calls.  I'm not very clear on how this code survived
CLOBBER_CACHE_ALWAYS testing ... but Alexander Lakhin found a case
that would crash it pretty reliably.

Per bug #15828.  Fix, and backpatch to v11 where this code came in.

Discussion: https://postgr.es/m/15828-f6ddd7df4852f473@postgresql.org
src/backend/commands/tablecmds.c