summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Rowley <drowley@postgresql.org>2021-07-13 13:32:10 +1200
committerDavid Rowley <drowley@postgresql.org>2021-07-13 13:32:10 +1200
commitd0e44bae4923cebe08fd03f8ac6cb42757eec480 (patch)
tree23005bf3c2b845e47b0f5864103c5cfebfb92e53 /src
parent87b7a652b3a2a291ec46a6a4592fbbd7e0a96529 (diff)
Robustify tuplesort's free_sort_tuple function
41469253e went to the trouble of removing a theoretical bug from free_sort_tuple by checking if the tuple was NULL before freeing it. Let's make this a little more robust by also setting the tuple to NULL so that should we be called again we won't end up doing a pfree on the already pfree'd tuple. Per advice from Tom Lane. Discussion: https://postgr.es/m/3188192.1626136953@sss.pgh.pa.us Backpatch-through: 9.6, same as 41469253e
Diffstat (limited to 'src')
-rw-r--r--src/backend/utils/sort/tuplesort.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/backend/utils/sort/tuplesort.c b/src/backend/utils/sort/tuplesort.c
index 015c197a77f..d1c29b2f043 100644
--- a/src/backend/utils/sort/tuplesort.c
+++ b/src/backend/utils/sort/tuplesort.c
@@ -4775,6 +4775,7 @@ writetup_datum(Tuplesortstate *state, int tapenum, SortTuple *stup)
{
FREEMEM(state, GetMemoryChunkSpace(stup->tuple));
pfree(stup->tuple);
+ stup->tuple = NULL;
}
}