]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Robustify tuplesort's free_sort_tuple function
authorDavid Rowley <drowley@postgresql.org>
Tue, 13 Jul 2021 01:30:26 +0000 (13:30 +1200)
committerDavid Rowley <drowley@postgresql.org>
Tue, 13 Jul 2021 01:30:26 +0000 (13:30 +1200)
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

index 2b21888a0153d337885bdcc2daf8d9408ed0a4ea..f975d24a98cb16c18494d1a2da42a19d4adf3cde 100644 (file)
@@ -4589,5 +4589,6 @@ free_sort_tuple(Tuplesortstate *state, SortTuple *stup)
        {
                FREEMEM(state, GetMemoryChunkSpace(stup->tuple));
                pfree(stup->tuple);
+               stup->tuple = NULL;
        }
 }