Paul Eggert wrote: > (We have too > many memory allocation modules and a cleanup is needed, but that's a > different topic....)
It's easy to get this feeling. But the fix, IMO, is to give an overview of the modules in the documentation, and how they differ. > > How could we call this module? 'realloc-ee' sounds too synthetic. > > How about 'alloc-0-nonnull'? > > Whatever the module's name is, it should affect malloc too, as there's > little point to adjusting realloc without also adjusting malloc. A dependency from the new module to 'malloc-gnu' should fit the bill, no? Then I would opt for the name 'realloc-0safe', with such a dependency. > Similarly for alignalloc, aligned_alloc, aligned-malloc, calloc, > posix_memalign, reallocarray, safe-alloc, and maybe others. For calloc we already have 'calloc-gnu', that does it. For the others, I would say that '*-0safe' variants are not needed, because the allocation is special and therefore the programmer can be assumed to be careful there (cf. option (c) in [1]). > I don't think we need to worry about alloca and malloca as they've never > had this problem. I agree. > The lib/allocator.h API may need to change even if that's only to > commentary. Yes. In fact, this part is easy to handle, since, according to codesearch.debian.net, - the only allocator ever used is the stdlib_allocator, - the only function that makes use of it is careadlinkat() (either from gnulib or from emacs/src/w32.c). Bruno [1] https://lists.gnu.org/archive/html/bug-gnulib/2024-10/msg00190.html