Re: PyMem_MALLOC (was [Python-Dev] Snake farm)
[Marc Recht]
What about changing PyMem_MALLOC malloc to #define PyMem_MALLOC(n) n ? malloc(n) : NULL
No, but expanding to malloc(n || 1) or malloc(n ? n : 1) would be fine. Code in Python uses a NULL return as an indication that a memory operation failed, so returning NULL is never appropriate for a PyMem_Malloc(0) call -- the Python API guarantees that its memory functions return NULL to mean out-of-memory, and that 0 is an OK argument. The configuration cruft should go away here. It's proven itself too brittle too many times. That is, we should pretend that all platforms are insane, and never pass 0 to any platform's malloc or realloc.
Tim Peters <tim.one@comcast.net> writes:
The configuration cruft should go away here. It's proven itself too brittle too many times. That is, we should pretend that all platforms are insane, and never pass 0 to any platform's malloc or realloc.
I agree, ignore my posting that proposes enhancements to the test. Regards, Martin
participants (2)
-
martin@v.loewis.de
-
Tim Peters