From: Peter Eisentraut Date: Sun, 28 Aug 2022 07:55:04 +0000 (+0200) Subject: Add more detail why repalloc and pfree do not accept NULL pointers X-Git-Tag: REL_16_BETA1~1863 X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=805a397db40bd49789946e8fe42e564d564fc27b;p=postgresql.git Add more detail why repalloc and pfree do not accept NULL pointers Per discussion, we choose not to change this. This just gives a little bit more information. Discussion: https://www.postgresql.org/message-id/flat/cf26e970-8e92-59f1-247a-aa265235075b%40enterprisedb.com --- diff --git a/src/backend/utils/mmgr/README b/src/backend/utils/mmgr/README index 221b4bd3433..777481c83d3 100644 --- a/src/backend/utils/mmgr/README +++ b/src/backend/utils/mmgr/README @@ -67,6 +67,12 @@ chunk might later be repalloc'd larger; it can also be pfree'd without error. Similarly, repalloc allows realloc'ing to zero size. * pfree and repalloc do not accept a NULL pointer. This is intentional. +(For repalloc, this is necessary: As mentioned above, repalloc does +not depend on the current memory context. But then it needs to know +which memory context to do the allocation in. So the first allocation +has to be done outside of repalloc. For pfree, this behavior is +mostly historical and partially because the extra check would impact +performance.) The Current Memory Context