On Sat, Mar 01, 2025 at 01:05:43AM +0100, Andreas Karlsson wrote: > I noticed that we have Assert(ret != NULL) in palloc() but not in palloc0() > so for consistency I decided to add it. I also added an assertion that the > MCXT_ALLOC_NO_OOM flag is set if alloc() returns > NULL to palloc_extended(). > > I feel that this might be useful since while palloc() is much more common > the OOM which causes alloc() to incorrectly return NULL could in theory > happen in any of the three functions.
Hmm. Good points. All the MemoryContextMethods rely on MemoryContextAllocationFailure() to handle the case of MCXT_ALLOC_NO_OOM on failure (except alignedalloc which has no alloc routine). Your two suggestions, one in palloc0() for the non-NULL check, and the second one in palloc_extended() to make sure that we have MCXT_ALLOC_NO_OOM set when the result is NULL, could catch inconsistencies when implementing a new method. In short, LGTM. Will apply if there are no objections. -- Michael
signature.asc
Description: PGP signature