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