X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/ed9b544e10b84cd43348ddfab7068b610a5df1f7..e9f0b930fecb02ef9fa025e78da5b3338b36f03b:/zmalloc.c diff --git a/zmalloc.c b/zmalloc.c index b5cb7d6a..c76b2746 100644 --- a/zmalloc.c +++ b/zmalloc.c @@ -36,9 +36,10 @@ static size_t used_memory = 0; void *zmalloc(size_t size) { void *ptr = malloc(size+sizeof(size_t)); + if (!ptr) return NULL; *((size_t*)ptr) = size; used_memory += size+sizeof(size_t); - return ptr+sizeof(size_t); + return (char*)ptr+sizeof(size_t); } void *zrealloc(void *ptr, size_t size) { @@ -47,7 +48,7 @@ void *zrealloc(void *ptr, size_t size) { void *newptr; if (ptr == NULL) return zmalloc(size); - realptr = ptr-sizeof(size_t); + realptr = (char*)ptr-sizeof(size_t); oldsize = *((size_t*)realptr); newptr = realloc(realptr,size+sizeof(size_t)); if (!newptr) return NULL; @@ -55,7 +56,7 @@ void *zrealloc(void *ptr, size_t size) { *((size_t*)newptr) = size; used_memory -= oldsize; used_memory += size; - return newptr+sizeof(size_t); + return (char*)newptr+sizeof(size_t); } void zfree(void *ptr) { @@ -63,7 +64,7 @@ void zfree(void *ptr) { size_t oldsize; if (ptr == NULL) return; - realptr = ptr-sizeof(size_t); + realptr = (char*)ptr-sizeof(size_t); oldsize = *((size_t*)realptr); used_memory -= oldsize+sizeof(size_t); free(realptr);