malloc: don't compare pointers to 0

0 is not a pointer. So do not compare pointers to 0.

Do not return 0 from functions with a pointer return
type.

Problem identified with Coccinelle.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
Heinrich Schuchardt 2017-11-10 21:46:34 +01:00 committed by Tom Rini
parent 06feb5d0bf
commit a874cac3b4

View File

@ -149,7 +149,7 @@ gAllocatedSize))
{
new_address = findRegion (new_address, new_size);
if (new_address == 0)
if (!new_address)
return (void*)-1;
gAddressBase = gNextAddress =
@ -175,7 +175,7 @@ gAllocatedSize))
(size + gNextAddress -
AlignPage (gNextAddress)),
MEM_COMMIT, PAGE_READWRITE);
if (res == 0)
if (!res)
return (void*)-1;
}
tmp = (void*)gNextAddress;
@ -1461,7 +1461,7 @@ Void_t* mALLOc(bytes) size_t bytes;
#if HAVE_MMAP
/* If big and would otherwise need to extend, try to use mmap instead */
if ((unsigned long)nb >= (unsigned long)mmap_threshold &&
(victim = mmap_chunk(nb)) != 0)
(victim = mmap_chunk(nb)))
return chunk2mem(victim);
#endif
@ -1671,7 +1671,10 @@ Void_t* rEALLOc(oldmem, bytes) Void_t* oldmem; size_t bytes;
mchunkptr fwd; /* misc temp for linking */
#ifdef REALLOC_ZERO_BYTES_FREES
if (bytes == 0) { fREe(oldmem); return 0; }
if (!bytes) {
fREe(oldmem);
return NULL;
}
#endif
if ((long)bytes < 0) return NULL;
@ -1703,7 +1706,8 @@ Void_t* rEALLOc(oldmem, bytes) Void_t* oldmem; size_t bytes;
if(oldsize - SIZE_SZ >= nb) return oldmem; /* do nothing */
/* Must alloc, copy, free. */
newmem = mALLOc(bytes);
if (newmem == 0) return 0; /* propagate failure */
if (!newmem)
return NULL; /* propagate failure */
MALLOC_COPY(newmem, oldmem, oldsize - 2*SIZE_SZ);
munmap_chunk(oldp);
return newmem;