aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Rowley <drowley@postgresql.org>2021-07-13 13:28:19 +1200
committerDavid Rowley <drowley@postgresql.org>2021-07-13 13:28:19 +1200
commit2fde8e49a24706773d0573d3b8888a76353094fc (patch)
treeb2f5f8987b1502d5a04419d5ad902fc4adc107ff
parent204f646a22f294a359ec463c128d01e1bc9117c5 (diff)
downloadpostgresql-2fde8e49a24706773d0573d3b8888a76353094fc.tar.gz
postgresql-2fde8e49a24706773d0573d3b8888a76353094fc.zip
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
-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 52c5ca8b8a4..98d68a143d9 100644
--- a/src/backend/utils/sort/tuplesort.c
+++ b/src/backend/utils/sort/tuplesort.c
@@ -4701,5 +4701,6 @@ free_sort_tuple(Tuplesortstate *state, SortTuple *stup)
{
FREEMEM(state, GetMemoryChunkSpace(stup->tuple));
pfree(stup->tuple);
+ stup->tuple = NULL;
}
}