postgres.git / summary / log / commit / refs
commit 2fde8e49a24706773d0573d3b8888a76353094fc
Author: David Rowley <drowley@postgresql.org>
Date: Tue Jul 13 01:28:19 2021 +0000
First released in: 15.0, 9.6.23, 10.18, 11.13, 12.8, 13.4, 14.0
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
src/backend/utils/sort/tuplesort.c | 1 +
1 file changed, 1 insertion(+)
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;
}
}
[parent: 204f646a22f2]