Mercurial > cpython-lru_cache-weakref
diff Objects/object.c @ 22141:4ff9f8a74c82 2.2
backport tim_one's checkin of
revision 2.164 of object.c
Whether platform malloc(0) returns NULL has nothing to do with whether
platform realloc(p, 0) returns NULL, so MALLOC_ZERO_RETURNS_NULL can
be correctly undefined yet realloc(p, 0) can return NULL anyway.
Prevent realloc(p, 0) doing free(p) and returning NULL via a different
hack. Would probably be better to get rid of MALLOC_ZERO_RETURNS_NULL
entirely.
Bugfix candidate.
| author | Michael W. Hudson <mwh@python.net> |
|---|---|
| date | Tue, 05 Mar 2002 14:23:56 +0000 |
| parents | 0189186f4ed9 |
| children | db040938dc66 |
line wrap: on
line diff
--- a/Objects/object.c Tue Mar 05 14:20:51 2002 +0000 +++ b/Objects/object.c Tue Mar 05 14:23:56 2002 +0000 @@ -1888,11 +1888,8 @@ void * PyMem_Realloc(void *p, size_t nbytes) { -#if _PyMem_EXTRA > 0 - if (nbytes == 0) - nbytes = _PyMem_EXTRA; -#endif - return PyMem_REALLOC(p, nbytes); + /* See comment near MALLOC_ZERO_RETURNS_NULL in pyport.h. */ + return PyMem_REALLOC(p, nbytes ? nbytes : 1); } void
