]> granicus.if.org Git - postgresql/commit
Fix use-after-free around DISTINCT transition function calls.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 17 Oct 2016 09:13:16 +0000 (12:13 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 17 Oct 2016 09:13:16 +0000 (12:13 +0300)
commitd8589946ddd5c43e1ebd01c5e92d0e177cbfc198
tree8d55a3ea631630089a5fd29051303006ad3b19c3
parent9e083fd4683294f41544e6d0d72f6e258ff3a77c
Fix use-after-free around DISTINCT transition function calls.

Have tuplesort_gettupleslot() copy the contents of its current table slot
as needed. This is based on an approach taken by tuplestore_gettupleslot().
In the future, tuplesort_gettupleslot() may also be taught to avoid copying
the tuple where caller can determine that that is safe (the
tuplestore_gettupleslot() interface already offers this option to callers).

Patch by Peter Geoghegan. Fixes bug #14344, reported by Regina Obe.

Report: <20160929035538.20224.39628@wrigleys.postgresql.org>

Backpatch-through: 9.6
src/backend/utils/sort/tuplesort.c